GNU Octave: полное руководство по MATLAB-совместимой среде
GNU Octave — высокоуровневый язык программирования, в основном совместимый с MATLAB. Используется для численных вычислений.
Общие черты с MATLAB
- Матрицы — фундаментальный тип данных
- Встроенная поддержка комплексных чисел
- Встроенные математические функции и библиотеки
- Поддержка пользовательских функций
Octave — свободно распространяемое ПО под лицензией GPL.
MATLAB vs Octave
Большинство MATLAB-программ работают в Octave, но не наоборот: Octave допускает синтаксис, недопустимый в MATLAB (например, двойные кавычки для строк).
Совместимый пример: 3D-поверхность
[x,y] = meshgrid(-2:.2:2); g = x .* exp(-x.^2 - y.^2); surf(x, y, g) print -deps graph.eps
Работает одинаково в обоих системах.
Несовместимый пример: вычисление площади кривой
MATLAB:
f = x^2*cos(x);
ezplot(f, [-4,9])
a = int(f, -4, 9)
disp('Area: '), disp(double(a))
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('Area: '), disp(double(a))
В Octave для символьных вычислений нужно загружать пакет symbolic и использовать quad для численных интегралов.
MATLAB
- Освоение программирования на C: подробное руководство для начинающих
- MATLAB: Комплексный обзор ведущей среды численных вычислений
- Типы данных в MATLAB: Полное руководство с примерами
- Операторы MATLAB: Арифметические, логические, битовые и операции над множествами
- Матрицы в MATLAB: Создание, индексация, удаление строк/столбцов и операции
- MATLAB: Мастерство работы с многомерными и специальными массивами
- Оператор двоеточия в MATLAB: создание векторов и эффективная итерация
- Числа в MATLAB: типы, хранение и преобразование
- Строки в MATLAB: создание, манипуляции и функции
- Функции в MATLAB: определение, рабочая область, входные и выходные аргументы