GNU Octave — это язык программирования высокого уровня, такой как MATLAB, и он в основном совместим с MATLAB. Он также используется для численных расчетов.
Octave имеет следующие общие черты с MATLAB:
- матрицы являются фундаментальным типом данных
- имеет встроенную поддержку комплексных чисел
- имеет встроенные математические функции и библиотеки
- поддерживает пользовательские функции
GNU Octave также является свободно распространяемым программным обеспечением. Вы можете распространять его и / или изменять его в соответствии с условиями Стандартной общественной лицензии GNU (GPL), опубликованной Free Software Foundation.
Матлаб против Октавы
Большинство программ MATLAB работают в Octave, но некоторые из программ Octave могут не работать в MATLAB, потому что Octave допускает некоторый синтаксис, которого нет в MATLAB.
Например, MATLAB поддерживает только одинарные кавычки, но Octave поддерживает одинарные и двойные кавычки для определения строк. Если вы ищете учебник по Octave, просим пройти этот учебник с самого начала, который охватывает как MATLAB, так и Octave.
Совместимые примеры
Почти все примеры, описанные в этом руководстве, совместимы как с MATLAB, так и с Octave. Давайте попробуем следующий пример в MATLAB и Octave, который дает тот же результат без каких-либо изменений синтаксиса —
В этом примере создается трехмерная карта поверхности для функции g = xe — (x 2 + y 2 ) . Создайте файл сценария и введите следующий код —
[x,y] = meshgrid(-2:.2:2); g = x .* exp(-x.^2 - y.^2); surf(x, y, g) print -deps graph.eps
Когда вы запускаете файл, MATLAB отображает следующую трехмерную карту —
Несовместимые примеры
Хотя все основные функции MATLAB доступны в Octave, есть некоторые функции, например, Дифференциальное и интеграционное исчисление, которые не совпадают точно в обоих языках. В этом руководстве были приведены примеры обоих типов, в которых они различались по синтаксису.
Рассмотрим следующий пример, где MATLAB и Octave используют разные функции для получения области кривой: f (x) = x 2 cos (x) для −4 ≤ x ≤ 9. Ниже приводится версия кода MATLAB —
f = x^2*cos(x); ezplot(f, [-4,9]) a = int(f, -4, 9) disp('Area: '), disp(double(a));
Когда вы запускаете файл, MATLAB строит график —
Следующий результат отображается
a = 8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9) Area: 0.3326
Но чтобы дать область той же кривой в Octave, вам придется использовать символический пакет следующим образом: