abc Matlab - elektronski priručnik
V dio Programiranje u Matlabu - 5.2. Skriptovi i funkcije

5.2.3. Funkcije

Funkcije su fajlovi koji mogu prihvatiti ulazne argumente i vratiti izlazne argumente. Imena fajla i funkcije trebala bi biti ista. Funkcije operišu sa varijablama unutar svog sopstvenog radnog prostora, odvojenog od radnog prostora kojem pristupamo u Matlab komandnom promptu.

Dobar primjer daje rank. Fajl rank.m je raspoloživ u folderu

toolbox/matlab/matfun

Možemo vidjeti fajl sa

type rank

Ovo je taj fajl:
function r = rank(A,tol)
% RANK Matrix rank.
% RANK(A) provides an estimate of the number of linearly
% independent rows or columns of a matrix A.
% RANK(A,tol) is the number of singular values of A
% that are larger than tol.
% RANK(A) uses the default tol = max(size(A)) * norm(A) * eps.

s = svd(A);
if nargin==1
tol = max(size(A)') * max(s) * eps;
end
r = sum(s > tol);

Nakon ključne riječi function gdje smo dali ime funkciji i komentara, slijedi izvršni kod.
Varijabla s uvedena u tijelo funkcije, a takođe i varijable u prvoj liniji, r, A i tol, su sve lokalne za funkciju; one su odvojene od svih drugih varijabli u Matlab radnom prostoru.

Ovaj primjer ilustruje jedan aspekt Matlab funkcija koji se obično ne nalazi u drugim programskim jezicima — varijabilan broj argumenata. Funkcija rank može se koristiti na nekoliko različitih načina:

rank(A)
r = rank(A)
r = rank(A,1.e-6)

Skriptovi    <    Index    >    Izvori i literatura