GNU Octave - вільна система для математичних обчислень, яка використовує сумісний з MATLAB мову високого рівня.
Octave представляє інтерактивний командний інтерфейс для вирішення лінійних і нелінійних математичних задач, а також проведення інших численних експериментів. Крім того, Octave можна використовувати для пакетної обробки.
Мова Octave оперує арифметикою дійсних і комплексних скалярів і матриць, має розширення для вирішення лінійних алгебраїчних задач, знаходження коренів систем нелінійних алгебраїчних рівнянь, роботи з поліномами, рішення різних диференціальних рівнянь, інтегрування систем диференційних і диференційно-алгебраїчних рівнянь першого порядку, інтегрування функцій на кінцевих і нескінченних інтервалах. Цей список можна легко розширити, використовуючи мову Octave (або використовуючи динамічно завантажувані модулі, створені на мовах C, С ++, Фортран та ін.).
Деякі можливості GNU Octave
Інтерфейс командного рядка Octave побудований з використанням бібліотеки GNU Readline. що дає доступ до таких звичайних можливостям останньої, як автодоповнення по клавіші Tab ⇆. історія команд і інкрементальний пошук по ній (Ctrl + R. Ctrl + S), можливість перевизначення клавіш, і т. д ..
Вирази Octave можна обчислювати з програм на C ++. Наприклад, фрагмент коду для обчислення rand ([9000,1]):
#include
...
ColumnVector NumRands (2);
NumRands (0) = 9000;
NumRands (1) = 1;
octave_value_list f_arg, f_ret;
f_arg (0) = octave_value (NumRands);
f_ret = feval ( «rand», f_arg, 1);
Matrix unis (f_ret (0) .matrix_value ());
Технічні деталі GNU Octave
- Octave написаний на C ++ з використанням бібліотеки STL;
- Для запуску скриптів Octave використовує інтерпретатор;
- Octave можна доповнювати динамічно модулями ядра;
- Для створення і роздруківки графіків Octave використовує gnuplot і Grace.
- Octave - інтерпретована мова програмування.
Він схожий на C і підтримує більшість основних функцій стандартної бібліотеки C, а також основні команди і системні виклики Unix. З іншого боку, він не підтримує передачу аргументів за посиланням (особливість дизайну).
- Синтаксис мови дуже схожий на MATLAB, і грамотно написані скрипти будуть запускатися як в Octave, так і в MATLAB.
Графічний інтерфейс GNU Octave
До версії 3.8.0 графічний інтерфейс був представлений доповненнями (графіки він міг виводити і без них):
Починаючи з версії 3.8.0 існує графічний інтерфейс користувача. Так як інтерфейс не зовсім готовий для подання як графічний інтерфейс за замовчуванням, його можна запустити додавши прапор -force-gui (розробники вирішили почекати до релізу 4.0).
Сумісність GNU Octave з MATLAB
Octave був написаний з урахуванням сумісності з MATLAB і реалізує багато його можливості:
- матриці в якості основних типів даних;
- вбудована підтримка комплексних чисел;
- потужні вбудовані математичні функції і великі бібліотеки функцій;
- розширюваність, завдяки можливості створення призначених для користувача функцій.
Але є і відмінності: