GNU Octave
Logo programu | |
Interfejs wersji 4 w środowisku graficznym Linuksa | |
Autor | John W. Eaton i wsp. |
---|---|
Pierwsze wydanie | 1.0.0 / (dts) | 17 lutego 1994
Aktualna wersja stabilna | 9.2.0 (7 czerwca 2024) [±] |
System operacyjny | Linux/Unix, Windows, MacOS |
Rodzaj | język programowania, matematyka |
Licencja | GNU (General Public License) |
Strona internetowa |
GNU Octave – środowisko obliczeń oraz język programowania przeznaczony dla prowadzania obliczeń numerycznych. Octave jest wolnym odpowiednikiem środowiska MATLAB.
Octave dostępny jest na większości systemów uniksowych, jest rozprowadzany w postaci binarnej wraz z wieloma dystrybucjami Linuksa. Dostępna jest także wersja dla Microsoft Windows. Rozprowadzany jest na zasadach licencji GNU GPL.
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 8.2.0[1].
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) # wyznacznik macierzy ans = 1 octave:4> inv(a) # macierz odwrotna ans = 1 -1 -2 3 octave:5> cond(a) # wskaźnik uwarunkowania macierzy 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) # wartości i wektory własne macierzy 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: ąęśżźćóńł;')
Zobacz też
Przypisy
- ↑ Witryna GNU Octave. [dostęp 2023-05-09]. (ang.).
Linki zewnętrzne
- Octave Online, interfejs internetowy dla Octave (ang.)
- GNU Octave Wiki (ang.)