GNU Octave
| Octave | |
| język programowania, matematyka | |
Interfejs programu |
|
| Producent | John W. Eaton i wsp. |
| System operacyjny | Linux/Unix, Windows, Macintosh |
| Pierwsze wydanie | 1.0.0 / 17 lutego 1994 |
| Aktualna wersja stabilna | 3.6.1 / 22 lutego 2012[1] |
| Licencja | GNU (General Public License) |
| www.octave.org | |
GNU Octave – środowisko obliczeń oraz język programowania przeznaczony dla prowadzania obliczeń numerycznych.
Octave dostępny jest na większości systemów uniksowych. Rozprowadzany jest na zasadach licencji GNU GPL.
Octave jest wolnym odpowiednikiem środowiska MATLAB.
Spis treści |
[edytuj] Historia
Prace nad Octave rozpoczęły się w 1988 roku. Pełną parą ruszyły one wiosną 1992 za sprawą Johna W. Eatona. Pierwsza wersja alpha ukazała się 4 stycznia 1993. Wersja 1.0 została wydana 17 lutego 1994. Najnowsza stabilna wersja środowiska nosi numer 3.2.4.
W tej chwili Octave rozprowadzany jest w postaci binarnej wraz z wieloma dystrybucjami Linuksa. Dostępna jest także wersja dla Microsoft Windows.
[edytuj] Podstawowe przykłady
Podstawową strukturą danych w Octavie jest macierz.
octave:2> a=[3 1; 2 1] a = 3 1 2 1 octave:3> det(a) ans = 1 octave:4> inv(a) ans = 1 -1 -2 3 octave:5> cond(a) ans = 14.933 octave:7> [a,a] ans = 3 1 3 1 2 1 2 1 octave:8> [a;a] ans = 3 1 2 1 3 1 2 1 octave:10> [v,e]=eig(a) v = 0.80690 -0.34372 0.59069 0.93907 e = 3.73205 0.00000 0.00000 0.26795
Język dostarcza również większość konstrukcji imperatywnych, m.in. if, while, for, function, np.:
a = [1,2,3]; function ret = kw(x,a) ret = a(1)*x.^2+a(2)*x+a(3); endfunction
Octave używa (zwykle) gnuplota do rysowania wykresów, np exp(cos(x)):
octave:45> x=[-10:0.1:10]; octave:46> y=exp(cos(x))-1; octave:47> plot(x,y);
lub
:
x=[0.001:0.0001:0.5]; y=sin(1./x); axis([0, 0.5, -1.1, 1.1]); grid on; plot(x,y,"-r;sin(1/x);");
Do wersji 2.1.72 istniała możliwość uzyskania polskich literek na wykresach, sterując gnuplotem z poziomu Octave. Przykład dla systemów uniksopodobnych:
octave:2> __gnuplot_set__ term x11 font "arial" 12 octave:3> __gnuplot_set__ encoding iso_8859_2 octave:4> plot(sinc(-10:.001:10),'r.;pliterki: ąęśżźćóńł;')
Przypisy
[edytuj] Zobacz też
- MATLAB
- SCILAB - środowisko podobne do GNU Octave
- FreeMat - środowisko podobne do GNU Octave (witryna projektu)