abc Matlab - elektronski priručnik
VII dio Dodaci /APPENDIX/ - 7.2. Programiranje u Matlabu 2

7.2.2. Funkcijske m–datoteke
7.2.2.1. Primjer 1

Napišimo funkcijsku m-datoteku zbir.m koja sadrži jedino funkciju zbir čije su ulazne varijable dva realna broja, a koja kao rezultat vraća zbir tih brojeva. Otvorimo novu m-datoteku pa upišimo:

function z=zbir(x,y)
z=x+y;

te je spremimo pod nazivom zbir.m u folder C:\matlabR12\work. Potom zatvorimo stvorenu datoteku.

Uočimo šta smo u njoj napravili: zbir dvaju realnih brojeva je jedinstven realan broj, pa imamo tačno jednu izlaznu varijablu koju smo označili sa z. Funkciji smo dali ime zbir jer zadatak traži da se datoteka zove zbir.m, a znamo da ime funkcije i ime datoteke moraju biti jednaki. Ulazne varijable označene su s x i y i odvojene zarezima.

Kako pozvati ovakvu funkciju iz radnog prostora? Kao i svaku drugu: pozivamo je navodeći izlazne varijable, ime funkcije i ulazne varijable. Za razliku od izlazne varijable kojoj će se vrijednost dodijeliti nakon što se izvrše sve naredbe u funkcijskoj m-datoteci, ulazne varijable moraju biti konkretne, odnosno njima se vrijednosti moraju dodijeliti prije poziva funkcije.

Želimo li sabrati npr. 123456789 i 987654321, te rezultat zapisati u varijablu suma, ukucaćemo:

suma=zbir(123456789,987654321)

i dobiti:

suma =
1.111111110000000e+009

Ulazne varijable ne moraju nužno biti eksplicitno zadani (realni ili kompleksni) brojevi, nego mogu biti i vrijednosti nekih brojevnih izraza. U novi red radnog prostora ukucajmo:

suma=zbir(conj(1-3*i),abs(1+sqrt(3)*i)/i)

i dobićemo:

suma =
1.00000000000000 + 1.00000000000000i

Kako bismo uspješno mogli stvarati nove i složenije funkcije u MATLAB-u, upoznaćemo još neke njegove naredbe.

Funkcijske m–datoteke    <    Index    >    Uslovne naredbe (naredbe kontrole toka)