abc Matlab - elektronski priručnik
VII dio Dodaci /APPENDIX/ - 7.2. Programiranje u Matlabu 2
7.2.3. Uslovne naredbe (naredbe kontrole toka)
7.2.3.3. Naredba if…else
7.2.3.3.6. Primjer 6
Primjer 6. Kreirajmo funkcijsku m–datoteku zbirm.m koja sadrži jedino funkciju zbirm čije su ulazne varijable realne matrice x i y, a izlazna varijabla 1 ako postoji zbir x + y, a 0 inače. Podsjetimo se da se matrice mogu sabrati ako i samo ako su istog tipa. Stoga najprije moramo usporediti ukupne brojeve redova, odnosno kolona tih matrica, što ćemo učiniti koristeći naredbu size. To će ujedno biti i naš logički uslov u naredbi if. Otvorimo novu m–datoteku i ukucamo:
function z=zbirm(x,y)
if (size(x,1)==size(y,1)&size(x,2)==size(y,2))
z=1;
else
z=0;
end
Ovdje prvi put susrećemo upotrebu ''klasičnog'' logičkog operatora AND (engl.: i). Uočimo upotrebu naredbe if. Logički uslov zapisan u drugom retku ''preveden'' na ''običan'' jezik glasi: ''Ako je broj redova matrice x jednak broju redova matrice y i ako je broj kolona matrice x jednak broju kolona matrice y, onda…'' Ako je taj logički uslov istinit, prelazi se na naredbu navedenu odmah u retku ispod. U tom se retku izlaznoj varijabli z dodjeljuje vrijednost 1 jer tako zahtijeva zadatak. Ako logički uslov nije istinit, prelazi se na prvu naredbu ispod naredbe else. To je z = 0 kojom se izlaznoj varijabli z dodjeljuje vrijednost 0, opet jer tako zahtijeva zadatak. Treće mogućnosti nema pa se zatvara petlja, a time i cijela funkcija.
Spremimo dobijenu datoteku i vratimo se u radni prostor. Provjerimo ''ispravnost rada'' naše funkcije na primjeru matrica
Ukucajmo u novi redak radnog prostora:
A=[-1 2 3];B=[3 1 2];C=[1;2;3];
pa pozovimo funkciju zbirm za parove matrica (A, B) i (B,C). Očekujemo da ce zbirm(A,B) biti jednak 1 jer su Ai Bistoga tipa (1 × 3), te da ce zbirm(A,B) biti jednak 0 jer Bi Cnisu istoga tipa. Ukucamo:
z1=zbirm(A,B),z2=zbirm(B,C)
pa će MATLAB ispisati:
z1 =
1
z2 =
0
Uslovne naredbe (naredbe kontrole toka) - Naredba if…else < Index > 7.3. Osnove deskriptivne statistike
|