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.
|