English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
GNU Octave является продвинутым языком программирования, подобным MATLAB, и он совместим с большинством MATLAB. Он также используется для численных вычислений.
Octave имеет следующие общие черты с MATLAB-
Матрицы являются базовым типом данных
Он поддерживает встроенную поддержку комплексных чисел
Он имеет встроенные математические функции и библиотеки
Он поддерживает функции, определяемые пользователем
GNU Octave также является бесплатным программным обеспечением, которое можно свободно распространять и/или изменять в соответствии с условиями GNU General Public License (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)Создание 3D поверхности. Создайте сценарий файла и введите следующий код-
[x, y] = meshgrid(-2:.2:2); g = x .* exp(-x.^2 - y.^2); surf(x, y, g) print -deps graph.eps
Запуск файла, MATLAB показывает следующую 3-D карту-
Хотя все основные функции 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('Площадь: '), disp(double(a));
При запуске файла MATLAB рисует график-
Показать следующий результат
a = 8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9) Площадь: 0.3326
Но чтобы вычислить площадь той же кривой в Octave, вам нужно использовать следующееsymbolicПакет-
pkg load symbolic symbols x = sym("x"); f = inline("x^2*cos(x)"); ezplot(f, [-4,9]) print -deps graph.eps [a, ierror, nfneval] = quad(f, -4, 9); display('Площадь: '), disp(double(a));