Octave — Высокоуровневый язык в основном предназначенный для математических вычислений. Синтаксис похож а синтаксис Матлаба, кроме того полностью поддерживает его(ну а Матлаб понятное дело не всегда поддерживает синтаксис Октава).
Поддерживает создание графиков с помощью GNUPlot.
Есть версии как для *nix систем, так и для Windows.
Для КДЕ есть KOctave — графический фронтэнд, может быть есть что-то подобное и для остальных WM/DE/систем
Немного детальнее:
Если вы знаете что умеет делать Матлаб, то можете представить что умеет делать Октав, хотя конечно его функциональность несколько меньше в специфических областях(Кто не знает, у Матлаба есть множество всяческих расширений необходимых для областей начиная с лингвистики, заканчивая астрофизикой)
Синтаксис достаточно приятный, логичный: можно объявлять свои функции, можно создавать файлы которые являются сразу функциями и вызывать их просто по имени файла.
Кроме того есть обычный режим — режим работы в командной строке.
Вот первый попавшийся пример, для определения функции факториала(правда она и без этого есть в октаве):
##################################################################
## usage: answer = lg_factorial4( n )
##
## Returns the factorial of n (n!). n should be a positive
## integer or 0.
function answer = lg_factorial4( n )
if ( nargin != 1 )
usage ( «factorial( n )» );
elseif ( !isscalar( n ) || !isreal( n ) )
error ( «n must be a positive integer value» );
elseif ( n < 0 )
error ( «there is no definition for negative factorials» );
endif
if ( n == 0 )
answer = 1;
return;
else
answer = prod( 1:n );
endif
endfunction
##################################################################
графики рисуются так же как в матлабе — надо два вектора одинаковой длинны, а потом просто «plot»
############################
x = linspace(0, 2*pi, 100);
y = sin(x);
plot(x, y);
############################
P.S. Read more here: Octave:Getting started
P.P.S. данная заметка была написана скорее просто что бы проинформировать о том что есть бесплатный открытый аналог матлаба, который в основном работает почти так же и почти полностью с ним совместим. отличий совсем немного:
1) нет поддержки функций в функциях
2) нет поддержки «object-oriented classes with overloading»
3) нет НЕбольшого(очень малого) кол��чества основных функий (gui, dll, java, activex, dde, web, and serial functions), без которых можно вполне обходится как по мне.
4) нельзя компилить код в бинарники
*) некоторые функции Октава не поддерживаются матлабом.
**) В октаве можно индексировать любой объект а не только переменные
***) В октаве есть операторы "++", "--", "-=", "+=", "*="
****) Есть различия в применении двойных и одинарных ковычек для строк
*****) octave отрисовывает графики GNUPlot`ом
Поддерживает создание графиков с помощью GNUPlot.
Есть версии как для *nix систем, так и для Windows.
Для КДЕ есть KOctave — графический фронтэнд, может быть есть что-то подобное и для остальных WM/DE/систем
Немного детальнее:
Если вы знаете что умеет делать Матлаб, то можете представить что умеет делать Октав, хотя конечно его функциональность несколько меньше в специфических областях(Кто не знает, у Матлаба есть множество всяческих расширений необходимых для областей начиная с лингвистики, заканчивая астрофизикой)
Синтаксис достаточно приятный, логичный: можно объявлять свои функции, можно создавать файлы которые являются сразу функциями и вызывать их просто по имени файла.
Кроме того есть обычный режим — режим работы в командной строке.
Вот первый попавшийся пример, для определения функции факториала(правда она и без этого есть в октаве):
##################################################################
## usage: answer = lg_factorial4( n )
##
## Returns the factorial of n (n!). n should be a positive
## integer or 0.
function answer = lg_factorial4( n )
if ( nargin != 1 )
usage ( «factorial( n )» );
elseif ( !isscalar( n ) || !isreal( n ) )
error ( «n must be a positive integer value» );
elseif ( n < 0 )
error ( «there is no definition for negative factorials» );
endif
if ( n == 0 )
answer = 1;
return;
else
answer = prod( 1:n );
endif
endfunction
##################################################################
графики рисуются так же как в матлабе — надо два вектора одинаковой длинны, а потом просто «plot»
############################
x = linspace(0, 2*pi, 100);
y = sin(x);
plot(x, y);
############################
P.S. Read more here: Octave:Getting started
P.P.S. данная заметка была написана скорее просто что бы проинформировать о том что есть бесплатный открытый аналог матлаба, который в основном работает почти так же и почти полностью с ним совместим. отличий совсем немного:
1) нет поддержки функций в функциях
2) нет поддержки «object-oriented classes with overloading»
3) нет НЕбольшого(очень малого) кол��чества основных функий (gui, dll, java, activex, dde, web, and serial functions), без которых можно вполне обходится как по мне.
4) нельзя компилить код в бинарники
*) некоторые функции Октава не поддерживаются матлабом.
**) В октаве можно индексировать любой объект а не только переменные
***) В октаве есть операторы "++", "--", "-=", "+=", "*="
****) Есть различия в применении двойных и одинарных ковычек для строк
*****) octave отрисовывает графики GNUPlot`ом
