GNU Octave

język programowania

GNU Octave – środowisko obliczeń oraz język programowania przeznaczony dla prowadzania obliczeń numerycznych. Octave jest wolnym odpowiednikiem środowiska MATLAB.

Octave
Logo Octave
Logo programu
Ilustracja
Interfejs wersji 4 w środowisku graficznym Linuksa
Autor John W. Eaton i wsp.
Pierwsze wydanie 1.0.0 / 1994-02-17 17 lutego 1994(dts)
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

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

edytuj

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

edytuj

Podstawową strukturą danych w Octavie jest macierz.

 
Przykład trójwymiarowego wykresu stworzonego w Octave
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ż

edytuj

Przypisy

edytuj
  1. Witryna GNU Octave. [dostęp 2023-05-09]. (ang.).

Linki zewnętrzne

edytuj