You are on page 1of 28

Poetak rada u Matlab-u

MATLAB je programski jezik za tehnike proraune. Ime je dobio od rei MATrina LABoratorija (matrix laboratory), poto mu je osnovni element podataka matrica (niz). Moe se koristiti za matematika izraunavanja, modelovanja i simulacije, analizu i obradu podataka, grafiko prikazivanje rezultata i razvoj algoritama. Pokretanje programa i njegovi prozori Program se pokree na standardan nain, klikom na ikonu ili iz menija Start. Po pokretanju programa dobija se prozor koji sadri tri manja prozora: komandni prozor ( Command Window), prozor tekueg direktorijuma (Current Directory) i prozor sa prethodnim komandama (Command History). Pored ovih prozora najee se koriste grafiki prozor (Figure) koji se pokree kada se izvravaju grafike komande, i prozor za pisanje programa (Editor) koji se otvara iz menija File u komandnom prozoru. Matlab-ovim alatkama i svojstvima se pristupa pomou dugmeta Start u donjem levom uglu velikog prozora. Ukoliko elite da se vidi samo komandni prozor, moete pojedinano zatvoriti ostale prozore, ili iz menija View Desktop izabrati Desktop Layout, a u podmeniju opciju Command Window Only. Komandni prozor je glavni prozor i slui za izvravanje komandi, pokretanje programa koje je napisao korisnik i upravljanje Matlab-om. Primer komandnog prozora dat je na slici:

Rad u komandnom prozoru Da bi se upisala komanda, kursor mora biti neposredno iza komandnog znaka (>>). Upisana komanda bie izvrena kada se pritisne Enter. Izvrava se samo poslednja upisana komanda. Sve prethodno izvrene komande ostaju nepromenjene. U isti red moe se upisati vie komandi ako se razdvoje zarezom. Kada se pritisne Enter, komande se redom izvravaju, sleva nadesno. Ne moete se vratiti u prethodni red komandnog prozora, izmeniti neto i zatim ponovo izvriti tako izmenjenu komandu. Pritiskom tastera iza komandnog znaka se prikazuje prethodna komanda. Tako ispisana komanda se moe izmeniti i ponovo izvriti. Strelicom nadole redom se prikazuju sve prethodno upisane komande. Ako je komanda predugaka da bi stala u jedan red, upiite tri take i pritisnite Enter. Nastavak komande piite u sledeem redu.

Komanda se izvrava kada je upiete u komandni prozor i pritisnete Enter. I rezultat komande se prikazuje u komandnom prozoru. Ukoliko na kraj komande upiete taku i zarez, njen rezultat se nee prikazati. Ukoliko u isti red upiete vie komandi njihovi rezultati se nee prikazati ako ih razdvojite znakovima taka i zarez. Znak % oznaava da je u pitanju komentar, i tako oznaeni redovi se ne izvravaju. Komanda clc brie sadraj sadraj komandnog prozora. Aritmetike operacije Operacija Sabiranje Oduzimanje Mnoenje Deljenje zdesna Deljenje sleva Stepenovanje Simbol + * / \ ^ Primer 5+3 5-3 5*3 5/3 5/3=3\5 5^3=53

Najvei prioritet imaju zagrade, zatim stepenovanje, mnoenje i deljenje pa sabiranje i oduzimanje. Ako dve ili vie operacija imaju isti prioritet, izraz se izraunava sleva udesno. Formati prikaza rezultata Korisnik moe da izabere format kojim e rezultat biti prikazan na ekranu. Izlazni format se zadaje komandom format. Koriste se sledei formati: Komanda format short format long format short e format long e format short g format long g format bank format compact format loose Opis fiksni zarez sa etri decimale fiksni zarez sa 14 decimala nauna notacija sa 4 decimale nauna notacija sa 15 decimala pet cifara sa fiksnim ili pokretnim zarezom 15 cifara sa fiksnim ili pokretnim zarezom dve decimale uklanja prazne redove dodaje prazne redove Primer 41.4286 41.42865247894578 4.1429e+001 4.142865247894578e+001 41.429 41.4286524789457 41.43

Ugraene elementarne matematike funkcije Funkcija sqrt(x) exp(x) abs(x) log(x) log10(x) Opis kvadratni koren ex apsolutna vrednost logaritam sa oanovom e logaritam sa osnovom 10 Funkcija factorial(x) sin(x) cos(x) tan(x) cot(x) Opis x! sinus kosinus tangens kotanges

Inverzne trigonometrijske funkcije su asin(x), acos(x), atan(x) i acot(x). Funkcije zaokruivanja: Funkcija round(x) fix(x) ceil(x) floor(x) rem(x,y) sign(x) Opis zaokruivanje na najblii ceo broj zaokruivanje nanie zaokruivanje navie zaokruivanje na najblii manji ceo broj ostatak deljenja x sa y vrednost 1 za x>0, -1 za x<0, 0 za x=0 Primer round (17/5)=3 fix(13/5)=2 ceil(11/5)=3 floor(9/4)=2 rem(13,5)=3 sign(5)=1

Definisanje skalarnih promenljivih Promenljiva je ime od jednog slova ili proizvoljne komabinacije slova i cifara kojoj je dodeljena numerika vrednost. Znak = naziva se operator dodele i on dodeljuje vrednost promenljivoj. Levo od ooperatora dodele moe biti samo jedno ime promenljive. Desno moe biti broj ili izraz koji sadri brojeve i promenljive kojima su prethodno dodeljene vrednosti. Kada se pritisne Enter numerika vrednost sa desne strane se dodeljuje promenljivoj. Ako na kraj reda upiete taku i zarez i pritisnete Enter, Matlab nee prikazati promenljivu i njoj dodeljenu vrednost, ali e joj vrednost ipak dodeliti i snimiti je u memoriju. Kada upiete ime promenljive i pritisnete Enter, u sledea dva reda e se ispisati ime promenljive i njena vrednost. U Matlab-u 6 promanljive mogu imati do 31 znak, moraju poinjati slovom, razlikuju se mala i velika slova. Unapred definisane promenljive su: pi; eps-najmanja razlika izmeu dva broja koju program moe uoiti, jednaka je 2-52; i=sqrt(-1); NaN-nije broj-nedefinisani rezultat.

Generisanje nizova
Niz (array) je osnovni oblik u kojem MATLAB uva podatke i radi sa njima. Niz je skup brojeva poreanih u vrste i/ili kolone.Jednodimenzionalni niz je vrsta ili kolona brojeva. Dvodimenzionalni niz je skup brojeva poreanih u vrste i kolone. U nizovima se podaci uvaju kao u tabeli. Generisanje jednodimenzionalnog niza Primer jednodimenzionalnog niza su koordinate take u trodimenzionalnom Dekartovom koordinatnom sistemu. Poloaj take definisan je koordinatama take i jedininim vektorima koordinatnih osa i,j i k. Na primer, vektor poloaja take A moe biti: rA=2i+4j+5k.

U Matlab-u se vektor definie dodeljivanjem elemenata vektora promenljivoj. Kada vektor sadri poznate brojeve, vrednost svakog elementa se unosi direktno. Svaki element moe biti matematiki izraz koji sadri unapred definisane promenljive, brojeve i funkcije. Generisanje vektora sa konstantnim korakom izmeu elemenata Vektor se generie upisivanjem elemenata unutar uglastih zagrada []. Vektor vrsta se dobija upisivanjem elemenata razdvojenoh razmakom ili zarezom unutar uglastih zagrada. Vektor kolona se dobija upisivanjem leve uglaste zagrade, a zatim elemenata razdvojenih takom i zarezom, ili pritiskanjem Enter posle svakog elementa. Nakon unosa poslednjeg elementa treba upisati uglastu zagradu. Na pimer:

Vektor sa konstantnim korakom izmeu elemenata sadri elemente ija je razlika konstantna. Da bi se napravio vektor iji je prvi element m, korak q, a poslednji element n, preba upisati: ime_promenljive=[m:q:n] ili ime_promenljive=m:q:n Da bi definisali vektor sa konstantnim korakom zadavanjem prvog (xi) i poslednjeg (xf) elementa i broja elemenata n, treba otkucati: ime_promenljive=linspace(xi,xf,n):

kad se izostavi korak podrazumeva se 1

Generisanje dvodimenzionalnog niza (matrice) Dvodimenzionalni niz sadri brojeve poreane u vrste i kolone. Kvadratna matrica ima jednak broj vrsta i kolona. Matrica se definie dodeljivanjem elemenata matrice promenljivoj. Elemente upisujemo vrstu po vrstu unutar uglastih zagrada. Prvo se upie leva zagrada, zatim elementi prve vrste razdvojeni razmacima ili zarezima. Da bi se prelo u sledeu vrstu, upie se taka i zarez, ili pritisne Enter. Sve vrste moraju imati jednak broj elemenata. Na primer:

Komande zeros(m,n), ones(m,n) i eye(n) generiu matrice iji elementi imaju specijalne vrednosti: sve nule, (zeros), sve jedinice (ones) i jedininu kvadratnu matricu (eye). Operator transponovanja Ovaj operator, kada se primeni na vektor pretvara vektor vrstu u vektor kolonu i obratno. Kada se primeni na matricu, pretvara njene vrste u kolone i obratno. Operator transponovanja obeleen je sa iza imena promenljive:

Adresiranje vektora 5

Adresu odreenog elementa vektora daje njegov poloaj u vrsti (koloni). Ako postoji vektor v, onda v(3) oznaava trei element tog vektora. Svaki element vektora moe se upotrebljavati kao zasebna promenljiva i u matematikim izrazima. Isto vai i za elemente matrice, s tim, to je adresa elementa matrice odreena brojem vrste i brojem kolone u kojoj se element nalazi: v(2,3) predstavlja element u preseku druge vrste i tree kolone. Za adresiranje vektora i matrica moe se upotrebiti i dvotaka. Na primer, v(:) oznaava sve elemente vektora v. v(m:n) oznaava elemente od m do n. a(:,n) oznaava elemente u svim vrstama kolone n matrice a. a(n,:) oznaava elemente u svim kolonama vrste n matrice a. a(:,m:n) oznaava elemente u svim vrstaka izmeu kolona m i n. a(m:n,:) oznaava elemente u svim kolonama izmeu vrsta m i n. a(m:n,p:q) oznaava elemente u vrstama od m do n i kolonama od p do q.

Generisanje i adresiranje nizova


Dodavanje elemenata postojeim promenljivama Postojeim vektorima dodajemo elemente tako to dodelimo vrednosti novim elementima. Ako vektor ima 4 elementa, moemo ga produiti dodavanjem vrednosti elementima 5,6 itd. Ukoliko imamo vektor sa n elemenata, a nova vrednost se dodeljuje elementu sa adresom n+2 ili veom, Matlab dodeljuje nule elementima izmeu.

Postojeoj matrici nove vrste ili kolone dodaju se tako to se dodele vrednosti novim vrstama ili kolonama. Veliina dodatih vrsta odnosno kolona mora odgovarati postojeoj matrici.

Uklanjanje elemenata Element ili opseg elemenata postojee matrice uklanja se kad im se ne dodeli nita (kada se u uglaste zagrade ne upie nita). Uklanjanjem elemenata skraujete vektor, a matrici smanjujete dimenzije.

Ugraene funkcije za obradu nizova Funkcija lenght(a) size(a) reshape(a,m,n) diag(v) diag(a) Opis Primer Broj elemenata vektora a a=[1 2 3 4], length(a)=4 Vraa vektor vrstu koja definie dimenzije A=[1 2 3 4 5;6 7 8 9 10] matrice mxn Size(a)=[2 5] Preureuje matricu a sa r vrsta i s kolona tako da ima m vrsta i n kolona. Proizvod r is mora biti jednak proizvodu m i n Kad je v vektor definie kvadratnu matricu sa elementima v na dijagonali Kad je a matrica, generie vektor od elemenata glavne dijagonale matrice a

Znakovni nizovi Znakovni niz se dobija upisivanjem znakova unutar polunavodnika. Mogu da sadre slova, cifre, ostale simbole i razmake. Znakovni nizovi se upotrebljavaju u izlaznim komandama za prikazivanje tekstualnih poruka, u komandama za formatiranje grafika, kao i ulazni argumenti nekih funkcija. Znakovni niz moete dodeliti promenljivoj-upiete ga desno od operatora dodele. Kada je promenljiva definisana kao znakovni niz, njegovi znakovi se pamte kao da su brojevi. Svaki znak je zaseban element niza, ukljuujui i razmake.To znai da je jednoredan znakovni niz zapravo vektor vrsta u kojem je broj elemenata jednak broju znakova. Elementi vrste se adresiraju prema svom ploaju. Elemente znakovnog niza moete menjati pojedinano direktnim adresiranjem. Znakovni nizovi mogu biti smeteni u matricu. Svaku vrstu matrice zavravamo takom i zarezom ili Enterom. Svaka vrsta takve matrice ora sadrati jednak broj znakova upisanih izmeu polunavodnika. Matlab ima ugraenu funkciju char koja od znakovnih nizova nejednakog broja elemenata generie matricu s vrstama jednake duine. char izjednaava duine vrsta tako to izbroji znakove najdueg znakovnog niza i zatim na kraj kraih nizova doda potreban broj razmaka. Ulazni argumenti funkcije char jesu znakovni nizovi raydvojeni zarezima: ime_promenljive=char(znakovni niz 1,znakovni niz 2,znakovni niz 3) Primer: Pomou komandi ones o zeros napraviti matricu 4x5 u kojoj su prve dve vrste ispunjene nulama, a sledee dve jedinicama.

Primer: Napravite matricu 6x6 u kojoj su dve srednje vrste i dve srednje kolone ispunjene jedinicama, a ostatak nulama.

Matematike operacije sa nizovima


Sabiranje i oduzimanje nizova Ove operacije mogu biti izvedene nad nizovima jednakih dimenzija (koji imaju jednak broj vrsta i kolona). Zbir ili razlika dva niza dobija se sabiranjem odnosno oduzimanjem njihovih odgovarajuih elemenata. Ako u A i B dve matrice dimenzija 2x3 njihovim sabiranjem se dobija: A11 A12 A13 A= B= B11 B12 B13

A21 A22 A23 B21 B22 B23 Sabiranjem dobijamo (A11+B11) (A12+B12) (A13+B13) A+B= (A21+B21) (A22+B22) (A23+B23) Kada se skalar sabira sa nizom ili oduzima od niza, taj broj se sabira sa svakim elementom niza ili oduzima od svakog njegovog elementa. Primeri:

Mnoenje nizova Operacija A*B se moe izboditi samo ako je broj kolona matrice A jednak broju vrsta matrice B. Rezultat je matrica koja ima isti broj vrsta kao matrica A i kolona kao matrica B. Ukoliko je matrica A dimenzija 4x3, a B 3x2, dobija se matrica A*B dimenzija 4x2 iji su elementi: (A11B11+A12B21+A13B31) (A11B12+A12B22+A13B32) (A21B11+A22B21+A23B31) (A21B12+A22B22+A23B32) (A31B11+A32B21+A33B31) (A31B12+A32B22+A33B32) (A41B11+A42B21+A43B31) (A41B12+A42B22+A43B32) Mnoenje matrica nije komutativno, to jest A*B nije jednako B*A. Operacija stepenovanja moe se izvesti samo nad kvadratnim matricama. Dva vektora se mogu izmnoiti samo ako imaju jednak broj elemenata i ako je jedan vektor vrsta a drugi vektor kolona. Mnoenje vektora vrste i vektora kolone daje matricu dimenzija 1x1, dakle skalar, pa se ta operacija i njen rezultat nazivaju skalarni proizvod dva vektora. Mnoenjem vektora kolone i vektora vrste od po n elemenata, dobija se matrica dimenzija nxn. Kada se niz mnoi brojem, tim brojem se pomnoi svaki element niza.

Primeri:

10

11

Pravila linearne algebre za mnoenje nizova omoguavaju podesno zapisivanje sistema inearnih jednaina. Na primer, sistem tri jednaine sa tri nepoznate:

A11x1 + A12x2 + A13x3 = B1 A21x1 + A22x2 + A23x3 = B2 A31x1 + A32x2 + A33x3 = B3


moe se zapisati u matrinom obliku A*X=B, gde su: A-matrica dimenzija 3x3 sastavljena od koeficijenata Aii, X-vektor kolona sastavljena od xi i B-vektor kolona sastavljena od Bi. Deljenje nizova Jedinina matrica je kvadratna matrica iji su elementi na dijagonali jedinice, a ostali elementi nule. Moe se napraviti komandom eye. Kada se jedininom matricom pomnoi druga matrica, rezultat je jednak toj matrici, dakle mnoenje matrice jedininom matricom ne menja polaznu matricu (vektor). To je ekvivalentno mnoenju skalara sa 1. Ako je matrica A kvadratna, a I jedinina, vai: AI=IA=A. Matrica B je inverzna matrica matrice A ako je proizvod te dve matrice jedinina matrica. Obe matrice moraju biti kvadratne, a redosled mnoenja nije vaan: BA=AB=I. Ako je matrica B inverzna matrici A, onda je i A inverzna B. Inverznu matricu matrice A oznaavamo sa A -1. U Matlab-u se matrica inverzna matrici A dobija stepenovanjem A na -1, ili funkcijom inv(A):

Inverzna matrica postoji samo ako je matrica kvadratna i ako je njena determinanta raliita od nule. Determinanta je funkcija koja svakoj kvadratnoj matrici A pridruuje broj zvan determinanta matrice. Za matricu 2x2 formula glasi: a11 a12 A= = a11a22-a12a21 a21 a22 Determinantu kvadratne matrice daje komanda det. Deljenje sleva \ Deljenjem sleva reavamo matrinu jednainu AX=B. U istoj jednaini, X i B su vektori kolone. Jednaina se moe reiti mnoenjem obe strane matricom inverznom matriciA, i to sleva: 12

A-1AX=A-1B Leva strana jednaine jednaka je X poto je A-1A=I, a IX=X, pa dobijamo: X=A-1B U Matlabu se poslednja jednaina moe napisati pomou simbola za deljenje sleva: X=A\B Deljenje sdesna Deljenjem sdesna reavamo jednainu XC=D, X i D su vektori vrste. Mnoimo obe strane jednaine inverznom matricom matrici C i to sdesna: XCC-1=DC-1, dalje X=DC-1, to se u Matlab-u moe napisati pomou simbola za mnoenje sdesna: X=D/C. Operacije nad pojedinanim elementima Kada je potrebno operacije izvoditi nad pojedinanim elementima nizova, u Matlab-u se koriste znaci operacija ispred kojih se upisuje taka: .* i, ./, .\, .^ Neka su data dva vektora a= [a1 a2 a3 a4] i b=[b1 b2 b3 b4]. Pojedinano mnoenje, deljenje i stepenovanje daju: a.*b=[a1b1 a2b2 a3b3 a4b4]; a./b=[a1/b1 a2/b2 a3/b3 a4/b4]; a.^b=[a1b1 a2b2 a3b3 a4b4]

Ugraene funkcije za analiziranje nizova Funkcija mean(A) C=max(A) Opis Primer Ako je A vektor, vraa srednju >>A=[5 9 2 4] vrednost elemenata tog vektora >>mean(A) ans =5 Ako je A vektor, C je najvei >>A=[5 9 2 4 11 6 7 11 0 1]; element vektora A. Ako je A matrica, >>C=max(A) C je vektor vrste koji sadri najvee C= elemente svake kolone matrice 11 Ako je A vektor, d je najvei element >>[d,n]=max(A) vektora A, a n poloaj tog elementa d=11 13

[d,n]=max(A)

min(A) [d,n]=min(A) sum (A) sort(A) median(A) std(A) det(A) dot(a,b)

cross(a,b)

inv(A)

(prvi ukoliko vie elemenata ima n=5 maksimalnu vrednost) Isto kao gore, samo za najmanji el. >>A=[5 9 2 4] >> min(A) Isto kao gore, samo za najmanji el. ans=2 >>A=[5 9 2 4] Ako je A vektor, vraa zbir >> sum(A) elemenata vektora ans=20 Ako je A vektor, rea elemente po >>A=[5 9 2 4] rastuem redosledu >>sum(A) 2459 Ako je A vektor, vraa medijanu >>A=[5 9 2 4] elemenata tog vektora >>median(A) ans=4.5000 Ako je A vektor, vraa standardno >>A=[5 9 2 4] odstupanje elemenata tog vektora Std(A) ans=2.9439 Vraa determinantu kvadratne >>A=[2 4;3 5] matrice A >>det(A) ans=-2 Izraunava skalarni proizvod vektora >>a=[1 2 3] a i b. Oba vektora mogu biti vektori >>b=[3 4 5] vrste ili vektori kolone >>dot(a,b) ans= 26 Izraunava vektorski proizvod >>a=[1 2 3] vektora a i b. Vektori moraju imati >>b=[3 4 5] po tri elementa. >>cross(a,b) ans= -5 3 -2 Vraa inverznu matricu kvadratne >>A=[2 -2 1;3 2 -1;2 -3 2]; matrice A >>inv(A) Ans= 0.2000 0.2000 0 -1.6000 0.4000 1.000 -2.6000 0.4000 2.000

Generisanje sluajnih brojeva Komanda rand generie sluajan broj izmeu 0 i 1. Komanda rand(1,n) generie vektor vrstu sa n sluajnih brojeva izmeu 0 i 1. Komanda rand(n) generie nxn matricu sluajnih brojeva izmeu 0 i 1. Komanda rand(m,n) definie matricu dimenzija mxn sluajnih brojeva izmeu 0 i 1. Komanda randperm(n) generie vektor vrstu sa n elemenata koji su sluajne permutacije celih brojeva izmeu 1 i n.

14

Skript datoteke
Skript datoteka je niz Matlab-ovih komandi snimljenih kao zaseban program. Njene komande se izvravaju redosledom kojim su navedene, kao da su upisane u komandni prozor. Ukoliko skript datoteka ima komandu za izlaz, izlaz se prikazuje u komandnom prozoru. Mogu se preureivati neogranien broj puta. Mogu se pisati u bilo kom editoru i zatim gotove preneti u Matlab-ov prozor Editor. Pri snimanju dobijaju nastavak .m Pravljenje, snimanje i izvravanje skript datoteka Prozor za pisanje skript datoteka otvara se iz menija FileNewM-file.

Komande se piu red po red, pritiskom na Enter. Matlab automatski dodeljuje broj reda. Datoteka mora biti zapamena da bi se mogla pokrenuti. To se radi iz menija File Save As, posle ega se bira direktorijum u kome e se snimiti datoteka. Datoteka se izvrava upisivanjem njenog imena u komandni prozor i pritiskom na Enter, ili pritiskom na ikonicu Run u Editoru. Da bi Matlab mogao da pokrene skript datoteku, prethodno je mora pronai, to znai da datoteka mora biti u tekuem direktorijumu ili na putanji za pretraivanje. Putanja tekueg direktorijuma prikazuje se u padajuij listi Current Directory u komandnom prozoru. Drugi nain menjanja tekueg direktorijuma prua komanda cd u komandnom prozoru. Promenljive definisane u komandnom prozoru prepoznaju se i u skript datoteci i obrnuto. Takve promenljive se nazivaju globalne. Unoenje podataka u skript datoteku Postoje tri naina za dodeljivanje vrednosti promenljivoj: 1. Promenljiva je definisana i dodeljena joj je vrednost u skript datoteci

15

Iz komandnog prozora se datoteka pokree navoenjem njenog imena, uz promenu tekueg direktorijuma: >> primer1 prosek_bodova = 78.6667 >> 2. Promenljiva je definisana i dodeljena joj je vrednost u komandnom prozoru: U ovom sluaju, treba prvo ispraviti skript datoteku Primer1 i izbrisati redove u kojima se daju vrednosti promenljivama, tj. ostaviti samo red za izraunavanje prosene vrednosti: %primer unosenja podataka% prosek_bodova=(ucenik1+ucenik2+ucenik3)/3 U komandnom prozoru emo zadati vrednosti promenljivama i pokrenuti izvravanje datoteke: >> ucenik1=87; >> ucenik2=70; >> ucenik3=50; >> primer2 prosek_bodova = 69 >> 3. Promenljiva je definisana u skript datoteci, ali je zadata vrednodt uneta u komandni prozor tek nakon pokretanja datoteke Nakon pokretanja datoteke od korisnika se zahteva da promenljivoj dodeli vrednost u komandnom prozoru. To se radi komandom input: ime_promenljive=input(znakovni niz poruke koja e biti prikazana u komandnom prozoru) Kada se skript datoteka pokrene i komanda input izvri, znakovni niz se prikazuje u komandnom prozoru. To je poruka korisniku da upie vrednost i pritisne Enter. Time e promenljivoj biti dodeljena upisana vrednost. Na kraju input komande treba staviti taku i zarez ukoliko ne elimo da se vrenost promenljive opet prikae u komandnom prozoru: %primer unosenja podataka% ucenik1=input('Unesite bodove prvog ucenika'); ucenik2=inpit('Unesite bodove drugog ucenika'); ucenik3=input('Unesite bodove treceg ucenika'); prosek_bodova=(ucenik1+ucenik2+ucenik3)/3 Evo kako izgleda komandni prozor za tu skript datoteku: >> primer3 16

Unesite bodove prvog ucenika77 Unesite bodove drugog ucenika83 Unesite bodove treceg ucenika59 prosek_bodova = 73 >>

Izlazne komande
Matlab ima nekoliko komandi za generisanje prikaza koji mogu sadrati tekstualne poruke, numerike podatke i grafikone. Za generisanje prikaza koriste se komande disp, i fprintf. Komanda disp prikazuje rezultat na ekranu, dok se komanda fprintf koristi za prikazivanje rezultata na ekranu ili za upisivanje u datoteku. Obe komande se mogu upotrebljavati i u komandnom prozoru i u skript datoteci. Kada se upotrebe u skript datoteci komande daju prikaz rezultata u komandnom prozoru. Komanda disp Koristi se za prikazivanje elemenata promenljive bez prikazivanja njenog imena, i za prikazivanje teksta. Format ove komande glasi: disp(ime promenljive) ili disp(tekst kao znakovni niz) Svaki rezultat komande disp se prikazuje u novom redu: >> abc=[5 9 1;7 2 4]; >> disp(abc) 5 9 1 7 2 4 >> disp('Zadatak nema resenje') Zadatak nema resenje Upotrebiemo komandu disp u primeru za izraunavanje prosenog broja bodova: %primer unosenja podataka% ucenik1=input('Unesite bodove prvog ucenika'); ucenik2=input('Unesite bodove drugog ucenika'); ucenik3=input('Unesite bodove treceg ucenika'); prosek_bodova=(ucenik1+ucenik2+ucenik3)/3; disp('') disp('Prosecan broj bodova je:') disp('') disp(prosek_bodova) U komandnom prozoru izvravanje ove datoteke izgleda na sledei nain: >> primer4 Unesite bodove prvog ucenika72 Unesite bodove drugog ucenika66 Unesite bodove treceg ucenika88 Prosecan broj bodova je: 75.3333 Svaka komanda disp prikazuje vrednost samo jedne promeljive. esto treba prikazati brojeve u tabelarnom obliku. U tom sluaju prvo definiemo promenljivu koja je matrica s brojevima, pa nju prikaemo pomou 17

komande disp. Istom komandom moemo prikazati i zaglavlje tabele, ali poto ona ne omoguava podeavanje formata prikaza tabele, poloaj zaglavlja prema kolonama podeava se dodavanjem razmaka. god=[1984 1986 1988 1990 1992 1994 1996]; stan=[127 130 136 145 158 178 211]; tabela(:,1)=god'; tabela(:,2)=stan'; disp(' GODINA STANOVNIKA') disp(' U MILIONIMA') disp('') disp(tabela)Pokretanjem ove datoteke dobija se sledei prikaz u komandnom prozoru: >> komanda_disp GODINA STANOVNIKA U MILIONIMA 1984 127 1986 130 1988 136 1990 145 1992 158 1994 178 1996 211 Komanda fprintf Pomou ove komande moete prikazati rezultat na ekranu ili ga upisati u odreenu datoteku. Tekst i numerike vrednosti mogu biti prikazani u istom redu, a moe se zadati i format brojeva. - Upotreba komande za prikazivanje teksta fprintf(tekst upisan kao znakovni niz) Komanda omoguava i prelazak u novi red na proizvoljnom mestu znakovnog niza. To se radi umetanjem sekvence \n pre znaka kojim treba da pone prikaz u novom redu. Ovo se zove izlazna sekvenca. Postoje i sledee sekvence: \b-kao da je pritisnut taster Backspace i \t-kao da je pritisnut Tab. Da bi izlaz komande fprintf poeo u novom redu, upiite \n na poetak znakovnog niza. - Prikazivanje izmeanog teksta i numerikih podataka fprintf(tekst kao znakovni niz %-5.2f dodatni tekst,ime_promenljive) %oznaava mesto gde se broj treba umetnuti u tekst. -5.2f oznaavaju:-znak broja, 5.2 irinu polja i preciznost tj najmanji broj cifara i decimalna mesta, i f znak konverzije, odnosno nain prokaza broja. Uobiajeni su sledei naini prikazivanja: e Eksponencijalna notacija sa malim e E Eksponencijalna notacija sa velikim E f Notacija sa fiksnom decimalnom takom g Kraa od notacija e ili f G Kraa od notacija E ili f i Ceo broj Iskoristiemo primer sa prosenim brojem bodova: %primer koriscenja komande fprintf% ucenik(1)=input('Unesite bodove prvog ucenika'); ucenik(2)=input('Unesite bodove drugog ucenika'); ucenik(3)=input('Unesite bodove treceg ucenika'); prosek_bodova=mean(ucenik); fprintf('Prosecan broj bodova ucenika je %f',prosek_bodova) 18

Primetite da su bodovi uenika uneeni u vektor i da je prosean broj bodova izraunat pomou funkcije mean koja odreuje srednju vrednost vektora. Kao rezultat izvravanja ove skript datoteke dobijamo: >> primer5 Unesite bodove prvog ucenika94 Unesite bodove drugog ucenika86 Unesite bodove treceg ucenika73 Prosecan broj bodova ucenika je 84.333333 U jednu komandu moe se umetnuti vei broj promenljivih koje se redom navode na kraju komande, iza teksta i zareza. Komanda fprintf je vektorizovana, tj ona se automatski ponavlja dok ne prikae sve elemente promenljive. - Upotreba komande fprintf za pisanje rezultata u datoteku Pisanje rezultata zahteva tri koraka: a) otvaranje datoteke komandom fopen b) pisanje rezultata u otvorenu datoteku komandom fprintf c) zatvaranje datoteke komandom fclose Komanda za otvaranje datoteke ima sledei oblik: fid=fopen(ime_promenljive,dozvola) fid je promenljiva zvana indikator datoteke. Kada se izvri komanda fopen, promenljivoj fid se dodeljuje skalarna vrednost. Ime promenljive pie se kao znakovni niz unutar polunavodnika. Dozvola je ifra koja odreuje nain otvaranja datoteke: r otvara datoteku za itanje w otvara datoteku za pisanje; ukoliko datoteka postoji, njen sadraj se brie, ukoliko ne postoji, pravi se nova datoteka a isto kao w, samo to se postojei sadraj ne brie, novi se dodaje na kraj postojeeg Kada je datoteka otvorena, rezultati se mogu upisati u nju komandom fprintf. Ona se upotrebljava na nain kao to smo ve objasnili, samo to se na prvo mesto komande umetne promenljiva fid. Kada se upiu podaci u datoteku, ona se zatvara komandom fclose(fid) Komandom fprintf se mogu upisati podaci u vie datoteka. Najpre se otvore datoteke sa razliitim fid-ovima, a zatim se upie podatak u eljenu datoteku.

Uvoenje i izvoenje podataka


Podaci se iz Excela uvoze komandom xlsread, koja podatke uitane iz proraunske tabele dodeljuje promenljivoj kao niz: ime_promenljive=xlsread(ime_datoteke,ime_lista,opseg) gde su navedena imena datoteke u kojoj je Excelova tabela, ime radnog lista i opseg definisan adresama elija. Podaci se iz Matlab-a u Excel izvoze komandom: ime_promenljive=xlswrite(ime_datoteke,ime_promenljive) Upotreba arobnjaka Import je najjednostavniji nain uvoenja podataka u Matlab poto korisnik ne mora da zna format podataka. Aktivira se iz menija File komandom Import Data.

19

Dvodimenzionalni grafikoni
Komanda plot Najjednostavniji oblik komande je: plot(x,y). Argumenti x i y su vektori. Oba vektora moraju imati jednak broj elemenata. Izvravanjem ove komande nastaje slika u grafikom prozoru. Ako nije otvoren, grafiki prozor se automatski otvara nakon izvrenja komande. Slika sadri jednu krivu sa x vrednostima na apscisi i y vrednostima na ordinati. Kriva se sastoji od pravolinijskih segmenata koji povezuju take ije su koordinate definisane elementima vektora x i y. >> %Primer izrade grafikona >> x=[1 2 3 5 7 7.5 8 10]; >> y=[2 6.5 7 7 5.5 4 6 8]; >> plot(x,y)

Komanda plot ima opcione argumente za zadavanje boje i stila linije, boje i vrste markera. Sa tim opcijama, komanda izgleda ovako: plot(x,y,oznaka linije,ImeSvojstva,VrednostSvojstva) Oznake linija: puna linija (podrazumevana) -isprekidana : takasta -. crta-taka Oznake boje linija: r crvena g zelena b plava c cijan m magenta y uta k crna w bela Oznake markera + znak plus krui * zvezdica . taka s kvadrat d romb p petokraka zvezda 20

Oznake linija treba pisati kao znakovni niz unutar komande plot. Redosled oznaka je proizvoljan. Oznake linija su opcione. >> plot(x,y,'r') take povezuje puna crvena linija >> plot(x,y,'--y') take povezuje uta isprekidana linija >> plot(x,y,'*') take su ozbaene zvezdicama, a nisu povezane linijama >> plot(x,y,'g:d') zelena takasta linija povezuje take oznaene markerima u obliku romba Ime svojstva i vrednost svojstva Ime svojstva se pie kao znakovni niz iza kojeg sledi zarez i vrednost svojstva, sve unutar komande plot. Ime svojstva Opis Mogue vrednosti svojstva Deljina linije Broj izraen u takama (default LineWidth(linewidth) 0.5) MarkerSize(markersize) Veliina markera Broj izraen u takama MarkerEdgeColor(markeredgecolor Boja markera ili boja ivice za Oznake boja iz prethodnih opisa, ) popunjene markere napisane kao znakovni niz Boja popune za popunjene Oznake boja iz prethodnog opisa, MarkerFaceColor(markerfacecolor) markere napisane kao znakovni niz Imena svojstava za oznake linija su: Oznaka Ime svojstva Mogue vrednosti svojstva Oznaka stila linije iz navedene Line Style Linestyle tabele, napisana kao znakovni niz Oznaka boje linjie iz navedene Line Color Color tabele, napisana kao znakovni niz Oznaka oblika markera iz Marker Marker navedene tabele, napisana kao znakovni niz Komanda plot moe biti napisana u komandnom prozoru ili u skript datoteci. Grafikoni se mogu crtati za date podatke ili za funkcije. Prvi grafikon je nacrtan za date podatke. Evo primera grafikona funkcije pomou skript datoteke: %Grafik funkcije x=[-2:0.01:4]; y=3.5.^(-0.5*x).*cos(6*x); plot(x,y) Iz komandnog prozora izvravamo datoteku navoenjem njenog imena i dobijamo grafik funkcije:

21

Komanda fplot Ova komanda iscrtava funkcije oblika y=f(x) u datim granicama x i y ose (opciono): fplot(funkcija,granice,oznake linije) Funkciju moete upisati neposredno u komandu kao znakovni niz. Na primer za funkciju f(x)=8x 2+5cos(x) treba upisati 8*x^2+5*cos(x). Funkcija ne sme da sadri prethodno definisane prpomenljive. Granice su vektor [xmin,xmax] od dva elementa koji zadaju domen x ili vektor s 4 elementa [xmin,xmax,ymin,ymax] koji zadaju domen x i domen y. Oznake linije su iste kao i u komandi plot. Primer: fplot('x^2+4*sin(2*x)-1',[-3,3])

Grafikon sa vie grafika Komanda plot Nacrtae onoliko grafika koliko parova vektora upiete u komandu. Komanda plot(x,y,u,v,t,h) nacrtae tri grafika: y u zavisnosti od x, v u zavisnosti od u i h u zavisnosti od t, sve na istom grafikonu. Automatski se crtaju grafici razliitih boja. Posle svakog para vektora moete dodati oznaku linije tog grafika: plot(x,y,-b,u,v,r,t,h,g:). Komande hold on i hold off Da bi se nacrtali grafici pomou ovih komandi potrebno je prvo nacrtati jedan grafik komandom plot. Zatim se upie komanda hold on. Time se ostavlja otvoren prozor s prvim grafikom, zajedno sa svojstvima osa i formatiranjem, ako ih je bilo. Sledee upisane komande plot nacrtae nove grafike na istoj slici. Postupak dodavanja grafika se prekida komandom hold off. Komanda line Ovom komandom dodajemo grafike na postojei grafikon. Oblik komande: line(x,y,ImeSvojstva,VrednostSvojstva) 22

Na primer: line(x,y,linestyle,- -,color,r,marker,o) postojeem grafikonu dodaje isprekidanu crvenu liniju sa krunim markerima. Glavna razlika izmeu komandi line i plot je u tome to plot otpoinje novi grafikon svaki put kada se pokrene, dok line dodaje linije postojeem grafikonu. Najpre se komandom plot nacrta prvi grafik, a zatim komandom line dodaju novi. Formatiranje grafikona Grafikoni se mogu formatirati komandama koje slede komandama plot i fplot, ili pomou editora grafikona u grafikom prozoru. Prvi nain je pogodan kad je komanda ukljuena u skript datoteku. Formatiranje u edotiru vai samo za taj grafikon i mora se ponavljati svaki put kad se nacrta grafikon. Komande xlabel i ylabel Slue za stavljanje natpisa na ose: xlabel(tekst kao znakovni niz); ylabel(tekst kao znakovni niz) Komanda title dodaje naslov: title(tekst kao znakovni niz). Komande text i gtext smetaju natpis na grafikon: text(x,y,tekst kao znakovni niz); gtext(tekst kao znakovni niz). Komanda text smeta tekst na grafik i to tako da njegov prvi znak bude na mestu ije su koordinate x i y. Gtext smeta tekst na mesto koje korisnik naknadno sam odredi, jer se otvara grafiki prozor u kome moe da se zada mesto natpisa. Komanda legend postavlja legendu na grafikon. Legenda prikazuje uzorak linije kojom je iscrtan svaki grafik i pored njega natpis koji zadaje korisnik. Oblik komande je: legend(znakovni niz1,zbakovniniz2,...,pol). Znakovni niz je natpis koji se postavlja pored uzorka linije. Redosled natpisa odgovara redosledu izrade grafika. pol je opcioni broj kojim se zadaje poloaj legende na slici. Tekst u komandama se moe formatirati promenom fonta, veliine, poloaja, stila, boje znakova, boje pozadina itd. Tekst se formatira dodavanjem modofokatora u znakovne nizove ili opcionih argumenata ImeSvojstva i VrednostSvojstva iza znakovnog niza. Komanda axis menja opseg i izgled osa. Komanda grid on dodaje linije mree na grafikon, komanda grid off ih uklanja. Primer: x=[10:0.1:22];y=[95000./x.^2; xd=[10:2:22];yd=[950 640 460 340 250 180 140]; plot(x,y,'-','LineWidth',1.0) xlabel('RASTOJANJE (cm)') ylabel('JACINA lx') title('\fontname{Arial}Jacina svetlosti kao funkcija rastojanja','FontSize',14) axis([8 24 0 1200]) hold on plot(xd,yd,'ro--','linewidth',1.0,'markersize',10) legend('Teorija','Eksperiment',0) hold off

23

Grafikoni s logaritamskom podelom osa Logaritamska podela omoguava prikazivanje velikog opsega vrednosti, prepoznavanje karakteristika podataka i moguih oblika matematikih odnosa podesnih za modelovanje podataka. Komande za izradu grafikona sa logaritamskim osama: semilogy(x,y) Crta y(x) s logaritamskom podelom y ose i linearnom x ose semilogx(x,y) Crta y(x) s logaritamskom podelom x ose i linearnom y ose loglog(x,y) Crta y(x) s logaritamskom podelom obe ose Specijalni grafikoni Vertikalni trakasti grafikon Horizontalni trakasti grafikon Stepenasti grafikon Grafikon diskretnih podataka Kruni dijagram Histogram Polarni grafikon bar(x,y) barh(x,y) stairs(x,y) stem(x,y) pie(x) hist(y) polar(teta,rastojanje,oznake linije)

Funkcije i funkcijske datoteke


Kao to smo ve videli u dosadanjem radu sa Matlab-om, u njemu postoje ugraene, gotove funkcije koje se mogu upotrebljavati u matematikim izraunavanjima. Ukoliko je potrebno izraunati vrednosti funkcije za vie razlliitih vrednosti argumenta, bolje je napisati funkciju koju definie korisnik. Kada se takva funkcija snimi, moi e da se koristi kao ugraena. To je, ustvari, Matlab-ov program koji je napisao korisnik i snimio kao funkcijsku datoteku. Glavna osobina funkcijske datoteke je da ima ulaz i izlaz. Oni mogu obuhvatati jednu ili vie promenljivih, od kojih svaka moe biti skalar, vektor, ili niz proizvoljne veliine. Sem kao matematike funkcije, funkcijske datoteke moemo upotrebljavati i kao potprograme unutar veih programa. Piu se i ureuju u Editoru, kao i skript datoteke. Prozor za pisanje se otvara iz komandnog prozora u meniju File New M-file.

Struktura funkcijske datoteke


Red sa definicijom funkcije Prvi izvrni red svake datoteke mora biti red sa njenom definicijom, i on: - definie datoteku kao funkcijsku - definie ime funkcije - definie broj i redosled ulaznih i izlaznih argumenata Ima sledei oblik: function[izlazni argumenti]=ime_funkcije(ulazni argumenti)

Ulazni i izlazni argumenti 24

Upotrebljavaju se za prenoenje podataka u funkciju i iz nje. Ulazni se navode unutar malih zagrada, mada je mogue definisati i funkciju bez argumenata. Vie ulaznih argumenata treba razdvojiti zarezima. Matematike izraze u funnkcijskoj datoteci morate pisati u skladu sa dimenzijama argumenata, poto argumenti mogu biti skalari ili vektori. Ulazni argumenti dobijaju stvarne vrednosti prilikom poziva funkcije. Izlazne argumente navedite unutar uglastih zagrada na levoj strani operatora dodeljivanja u redu sa definicijom funkcije. Oni prenose rezultate funkcijske datoteke. Vie izlaznih argumenata treba razdvojiti zarezima. Ukoliko postoji samo jedan izlazni argument moe se pisati bez zagrada. Izlazni argumento dobijaju samo one vrednosti koje im dodelite u raunarskom programu unutar tela funkcije. Funkcijskoj datoteci moete preneti i znakovni niz kao ulaznu promenljivu. Pomou znakovnih nizova u funkcijsku datoteku se mogu preneti imena drugih funkcija. Za interaktivno unoenje podataka moe se iskoristiti komanda input, a komande disp, fprintf i fplot za prikazivanje na ekranu, snimanje na disk ili crtanje slika, isto kao u skript datoteci. Red H1 i pomoni tekst Spadaju u komentare, koji moraju poeti znakom %. Treba ih pisati iza reda sa definicijom funkcije. Oni su opcioni, a slue za upoznavanje svih potencijalnih korisnika sa namenom i nainom rada funkcije. Prvi red komentara je red H1 i on sadri ime i kratku definiciju funkcije. pomoni tekst obuhvata komentare iza reda H1. Telo funkcije Sadri raunarski kod koji zapravo obavlja proraune. Mogu se koristiti sve ugraene funkcije, komentari, prazni redovi i interaktivni ulaz i izlaz. Lokalne i globalne promenljive Sve promenljive u funkcijskoj datoteci su lokalne. To znai da su te promenljive definisane i da imaju vrednost samo u funkcijskoj datoteci. Za izraunavanje svake pozvane funkcije Matlab koristi zaseban deo memorije. Funkcijska datoteka moe imati ista imena promenljivih kao i u komandnom prozoru. Svaka funkcijska datoteka ima svoje globalne promenljive koje ne deli sa drugim funkcijama ili sa komandnim prozorom. Odreenu promenljivu moete promeniti u globalnu u vie funkcijskih datoteka pomou komande: global=ime_promenljive Da bi promenljiva bila prepoznata u radnom prostoru, morate zadati komandu global u komandnom prozoru ili skript datoteci. Funkcijsku datoteku morate snimiti pre upotrebe. To se radi isto kao i sa skript datotekama, iz menija File komandom Save As, i izborom direktorijuma i imena datoteke. Preporuljivo je da datoteci date ime funkcije iz reda sa definicijom funkcije. Samo tako e datoteka moi da bude pozvana navoenjem imena. Funkcijske datoteke se snimaju sa nastavkom .m iza imena.

Upotreba funkcijske datoteke


Funkcija koju definie korisnik upotrebljava se isto kao i ugraena Matlabova funkcija. Mogu se pozivati iz komandnog prozora, skript datoteka i drugih funkcija. Direktorijum u koji je snimljena mora biti tekui. Svaku funkciju moete upotrebljavati dodeljivanjem njenog rezultata promenljivoj, kao deo matematikog izraza, kao argument druge funkcije ili navoenjem imena u komadnom prozoru ili skript datoteci. Argumentima se vrednost dodeljuje prema reosledu kojim su navedeni u listi ulaznih, odnosno izlaznih argumenata, u redu sa definicijom funkcije. Primeri jednostavnih funkcijskih datoteka 25

Primer1. Napiite funkcijsku datoteku (po imenu pog6jedan) za funkciju f ( x ) =

x 4 3x + 5

je x, a izlaz f(x). Funkciju napiite da moe biti vektor. Pomou funkcije izraunajte: a) f(x) za x=6 b) f(x) za x=1,3,5,7,9,11 function y=pog6jedan(x) y=(x.^4.*sqrt(3*x+5))./(x.^2+1).^2 a)Vrednost funkcije za x=6 moemo izraunati tako to emo u komandni prozor upisati pog6jedan(6), ili vrednost funkcije dodeliti novoj promenljivoj: pog6jedan(6) y= 4.5401 ans = 4.5401 >> F=pog6jedan(6) y= 4.5401 F= 4.5401 b)Da bi smo izraunali vrednost funkcije za nekoliko vrednosti x, najpre emo napraviti vektor sa vrednostima x, i zatim ga upotrebiti kao argument u pozivu funkcije: >> x=1:2:11 x= 1 3 5 7 9 11 >> pog6jedan(x) y= 0.7071 3.0307 4.1347 4.8971 5.5197 6.0638 ans = 0.7071 3.0307 4.1347 4.8971 5.5197 6.0638 U funkciju moemo upisati vektor x kao argument i neposredno: >> H=pog6jedan([1:2:11]) y= 0.7071 3.0307 4.1347 4.8971 5.5197 6.0638 H= 0.7071 3.0307 4.1347 4.8971 5.5197 6.0638

(x

+ 1)

. Ulaz u funkciju

Lokalne funkcije
Kada u programu treba vie puta izraunati vrednost relativno jednostavne matematike funkcije, Matlab omoguava korienje lokalne funkcije. Ona se definie unutar programa (ne kao zasebna datoteka), i moe se koristiti samo u njemu. Mogu se definisati u svim delovima Matlaba. Definiu se pomou komande: ime=inline(matematicki izraz napisan kao znakovni niz) - Matematiki izraz moe imati jednu ili vie nezavisnih promenljivih. - Za nezavisne promenljive u izrazu moete upotrebiti sva slova sem i i j. - Izraz moe sadrati sve ugraene Matlabove funkcije, i funkcije koje definie korisnik. - Izraz mora biti napisan u skladu sa dimenzijama argumenata. - Izraz ne sme da sadri promenljive kojima je prethodno dodeljena vrednost. - Definisanu funkciju upotrebljavate upisivanjem njenog imena i vrednosti za njen argument u malim zagradama. 26

Lokalnu funkciju moete upotrebljavati kao argument drugih funkcija


ex
2

Primer2. f(x)=

x2 + 5

moe biti definisana kao lokalna funkcija skalara x (u komandnom prozoru):

>> FA=inline('exp(x^2)/sqrt(x^2+5)') FA = Inline function: FA(x) = exp(x^2)/sqrt(x^2+5) Ako na kraju definicije lokalne funkcije ne napiete taku i zarez, Matlab e je prikazati. Funkciju potom moete koristiti za razliite vrednosti x, kao u sledeim primerima: >> format compact >> FA(2) ans = 18.1994 >> z=FA(3) z= 2.1656e+003 Ukoliko oekujete da bi x mogao biti vektor, onda funkciju napiite tako da omoguava pojedinano izraunavanje nad elementima vektora: >> FA=inline('exp(x.^2)./sqrt(x.^2+5)') FA = Inline function: FA(x) = exp(x.^2)./sqrt(x.^2+5) >> FA([1 0.5 2]) ans = 1.1097 0.5604 18.1994 Lokalna funkcija sa vie nezavisnih promenljivih Moe se napisati u sledeem formatu: ime=inline(matematiki izraz,arg1,arg2,arg3) Ovako je definisan redosled argumenata. Ukoliko se upotrebi format iz prethodnog primera, Matlab slae argumente po abecednom redu. Primera radi, funkciju f(x,y)=2*x2 4*x*y + y^2 moete definisati na sledei nain: >> HA=inline('2*x^2-4*x*y+y^2') HA = Inline function: HA(x,y) = 2*x^2-4*x*y+y^2 >> HA(2,3) ans = -7

Komanda feval
Izraunava vrednost funkcije za date vrednosti njenih argumenata. Format komande je: promenljiva=feval(ime funkcije,vrednost argumenta) Vrednost koju feval izraunava moete dodeliti promenljivoj. Ukoliko komandu upiete bez operatora dodeljivanja, Matlab e prikazati ans=, i vrednost funkcije. - Ime funkcije upiite kao znakovni niz. - Funkcija moe biti ugraena Matlabova ili je definie korisnik. - Ukoliko ima vie ulaznih argumenata, razdvojte ih zarezima. 27

- Ukoliko ima vie izlaznih argumenata, promenljive na levoj strani operatora dodeljivanja upiite unutar uglastih zagrada, razdvojene zarezima. >> feval('sqrt',64) ans = 8 >> x=feval('sin',pi/6) x= 0.5000 Komanda feval je podesna u situacijama kada vrednost jedne funkcije treba izraunati unutar druge, pri emu unutranja funkcija treba da bude drugaija prilikom svakog poziva spoljne funkcije.

28

You might also like