Vous êtes sur la page 1sur 9

Uvod u Octave

GNU Octave jezik visokog nivoa primarno namijenjen za numerike kalkulacije. Omoguava interaktivni interfejs sa komandnom linijom.

1.1 Pokretanje Octave-a


Na veini sistema, Octave se pokree sa komandom u terminalu octave. Octave e prikazati poetnu poruku, te indicirati da je spreman da prihvati ulaz (naredbu). Moete poeti unositi Octave naredbe odmah nakon toga. Ukoliko doe do greke u izvoenju neke od naredbi, izvoenje se prekida sa kombinacijom tipki Ctrl + C. Nakon ove naredbe ponovo se vraete na Octave prompt. Da bi izali iz Octave-a u terminalu upiite quit,ili exit.

1.2 Rad u Octave-u


Linije oznaene kao octave:13>, su linije gdje piete komande. Octave e odgovoriti sa odgovorom ili sa iscrtavanjem grafika. 1.2.1 Osnovne matematike funkcije Octave se moe koristiti za osnovne numerike kalkulacije. Primjer 1. Da bi verificirali Euler-ov identitet:
i*pi

= -1

upisujemo sljedee:
octave:1> exp(i*pi)

1.2.2 Matrice Vektori i matrice su osnovi gradivni blokovi koji se koriste u numerikoj analizi. Da bi kreirali novu matricu i snimili je unutar varijable upisujemo komandu:
octave:1> A = [ 1, 1, 2; 3, 5, 8; 13, 21, 34 ]

Octave e odgovoriti sa ispisom matrice. Octave koristi zareze ili razmake da razdvoji ulaze u red, I taka-zarez da razdvoji razliite upise u redove. Kada zavravamo komandu sa taka-zarez tada Octave nee printati rezultat

izvrenja komande. Na primjer,


octave:2> B = rand (3, 2);

e kreirati matricu sa 3 reda i 2 kolone sa svakim elementom koji je sluajan broj izmeu 0 i 1. Da bi ispisali vrijednost varijable samo upiemo ime varijable u promptu. Na primjer, da bi ispisali vrijednost matrice smjetene u varijablu B, u promptu upisujemo:
octave:3> B

1.2.3 Operacije sa matricama Mnoenje matrice sa skalarom:


octave:4> 2 * A

Mnoenje dvije matrice A i B:


octave:5> A * B

Mnoenje transponovane matrice (A) i A:


octave:6> A' * A

1.2.4 Kreiranje funkcije Primjer: Neka imamo nelinearnu diferencijalnu jednainu:


dx -- = f (x, t) dt

sa poetnim stanjem:
x(t = t0) = x0

Prvo moramo napisati definiciju funkcije f(x,t). Kada piemo funkciju Octave odgovara sa drugaijim promptom-om da bi indicirao da eka za kompletan unos.
function xdot = f (x, t) r = 0.25; k = 1.4;

a = 1.5; b = 0.16; c = 0.9; d = 0.8; xdot(1) = r*x(1)*(1 - x(1)/k) - a*x(1)*x(2)/(1 + b*x(1)); xdot(2) = c*a*x(1)*x(2)/(1 + b*x(1)) - d*x(2); endfunction

Dato poetno stanje:


x0 = [1; 2];

set ulaznih vremena kao vektor kolona:


t = linspace (0, 50, 200)';

Integracija seta diferencijalnih jednaina:


x = lsode ("f", x0, t);

1.2.5 Crtanje grafika u Octave-u Da bi prikazali prethodni primjer grafiki, koristimo sljedeu komandu:
plot (t, x)

Ako koristite grafiko okruenje, Octave e automatski kreirati odvojen prozor za prikaz grafika. Da bi sauvali grafik koristit emo print komandu:
print -deps foo.eps

Ona e kreirati file koji se zove foo.eps u koji je uitan trenutni grafik uitan u Encapsulated PostScript format. Komanda:
help print

daje vie opcija vezanih za print komandu i omoguava listu dodatnih izlaznih formata. Primjer: angles=[0:pi/3:2*pi] y=sin(angles) plot(angles,y)

title('Graph of y=sin(x)') xlabel('Angle') ylabel('Value')

grid on

1.2.6 Pisanje i editovanje skripti

Moete kreirati skriptu u bilo kojem text editoru (npr. Emacs, Notepad) i moete pokretati editor iz Octave-a upisujui: octave:##> edit ovo e pokrenuti emacs editor u novom prozoru. Ako elite editovati postojeu skriptu nakon edit upiete ime postojee skripte. Na primjer, ako ve imate skriptu sa imenom run.m, upisujete edit run. Primjer: U Octave-u upiite edit % Ovo je moja prva skripta t = linspace(0, 10, 100);

y = abs(sin(t)); %abs- je naradba za apsolutnu vrijednost plot(t,y); title('Rectified Sine Wave'); xlabel('t'); Select File Save Buffer As... isauvaj file kao rectsin.m. 1.2.7 Pokretanje skripti Da bi pokrenuli skriptu rectsin.m piemo ime skripte u komandnom prozoru. octave:##> rectsin Trebao bi se pojaviti prozor koji pokazuje grafik. 1.2.8 If-else a=5; b=3; if a<b c=3 else c=4 end Ispis: c=4 1.2.9 Switch selekcija octave:##> a=1; octave:##> switch a case 0 disp(a is zero); case 1 disp(a is one); otherwise disp(a is not a binary digit);

end Ispis: a is one disp funkcija ispisuje vrijednost ili string npr. disp(a) ispisuje vrijednost varijable a.

1.2.10 For petlja Octave:##> for n=1:5 nf(n) = factorial(n); end octave:##> disp(nf) 1 2 6 24 120 1.2.11 While petlja octave:##> x=1; octave:##> while 1+x > 1 x = x/2; end octave:##> x x = 1.1102e-016 1.2.12 Pomo i dokumentacija Ime funkcije o kojoj elimo saznati vie informacija proslijedimo kao argument funkcije help:
help plot

Prikazat e nam se tekst za pomo pri koritenju plot funkcije. Sa <q> izlazimo iz help-a.

Vous aimerez peut-être aussi