Tento článok bol vytlačený zo stránky https://referaty.centrum.sk

 

Matlab Funkcionálne identifikátory a funkcie funkcií.

Funkcionálny identifikátor (funkcion handle) v Matlabe je datovy typ ktory obsahuje informacuje referujuce na funkciu. Ked sa vytvori funkcionalny identifikator, Matlab donho ulozi vsetky infrmacie o funkcii ktore potrebuje na jej vykonanie alebo na jej vyhodnotenie. Typicky je funkcionálny identifikátor sucastou argumentou inych funkcii. Vtedy je pouzity v spojeny s feval na vyhodnotenie funkcie ku ktorej identifikator prinalezi.
Funkcionalny identifikator funkcie sa vytvori vlozenim @ pred funkciu.
Napr. ked mame funkciu :

tato funkcia moze byt pouzita ako vstup funkcnych funkcii.
Tato funkcia je v Matlabe v M-subore humps.m .
Na vykonanie funkcie humps v hodnote 2.0 pouzijeme @ na ziskanie identifikatora a potom ho vlozime do feval.

fh = @humps;
feval(fh,2.0)
ans =
-4.8552

Funkcie funkcií su Matlabovske funkcie ktore sa nachadzaju v adresary FUNFUN
Funkcie funkcií su funkcie ktorych argumentom je funkcia.

Napr. Optimalizacne funkcie :
fminbnd minimalizuje funkciu jednej premennej s vinutenym ohranicenim
fminsearch minimalizuje funkciu viacerych premennych
fzero najde nulu funkcie jednej premennej

tak napr. najdeme minimum funkcie humps :

[X,FVAL] = FMINBND(@humps,-5,10)

X =

9.9999


FVAL =

-5.9773

kde -5, 10 je interval na ktorom hlada minimum




>> [X,FVAL] = FMINBND(@humps,-10,10)

X =

-10.0000


FVAL =

-5.9822

FUNCTIONS vrati informaciu o funkcionalnom identifikatorovi
F = FUNCTIONS(FUNHANDLE) vrati nazov funkcie, informacie o identifikatorovi
Pre volane funkcie (overloaded) vypise triedu a M-subor ktory volala funkcia.

napr:
f = functions(@deblank)
f =
function: 'deblank'
type: 'overloaded'
file: 'matlabroottoolboxmatlabstrfundeblank.m'
methods: [1x1 struct]

pole methods popisuje triedu.

f = functions(@fzero)

f =

function: 'fzero'
type: 'simple'
file: 'c:matlab6p1toolboxmatlabfunfunfzero'


funguje aj napr:

f = functions(@functions)

f =

function: 'functions'
type: 'simple'
file: 'MATLAB built-in function'

Pouzite materialy
http://www.mathworks.com/access/helpdesk_r12p1/help/pdf_doc/matlab/using_ml.pdf
strana 454, funkcie funkcii
strana 763, funkcionalne identifikatori.

Koniec vytlačenej stránky z https://referaty.centrum.sk