GNU Octave

Z testwiki
Wersja z dnia 13:49, 17 lip 2024 autorstwa imported>Kesk9?1
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacji Przejdź do wyszukiwania

Szablon:Oprogramowanie infobox 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.0Szablon:R.

Podstawowe przykłady

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 sin(1/x):

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ż

Szablon:Wikibooks

Przypisy

Błąd rozszerzenia cite: Znacznik <ref> o nazwie „gnu”, zdefiniowany w <references>, nie był użyty wcześniej w treści.

Linki zewnętrzne

Szablon:Kontrola autorytatywna