A beágyazott függvény olyan függvény, amely egy másik függvényen belül jön létre a MATLAB-ban. A beágyazott függvények különlegessége az, hogy használhatják és módosíthatják a szülőfüggvényben meghatározott változókat.
Szintaxis
Ezek a beágyazott függvények a MATLAB-ban könnyen hozzáférhetnek a szülő függvényváltozókhoz. Íme a szintaxis a beágyazott függvények MATLAB-ban történő meghatározásához:
funkció szülő
diszp ( 'Szülői funkció' )
Nesdfx
funkció Nesdfx
diszp ( 'Beágyazott függvény' )
vége
vége
Példakód
Az alábbiakban megadtuk egy beágyazott függvény MATLAB kódját:
funkció parentFunction
x = 10 ;
NesdFunction1 ( )
% Beágyazott függvény 1
funkció NesdFunction1
diszp ( 'Inside NesdFunction1' ) ;
diszp ( x ) ; % Az x változó elérése a szülőfüggvényből
és = húsz ;
NesdFunction2 ( )
% Beágyazott függvény 2
funkció NesdFunction2
diszp ( 'Inside NesdFunction2' ) ;
diszp ( x ) ; % Az x változó elérése a szülő és a beágyazott függvényből 1
diszp ( és ) ; % Az y változó elérése az 1. beágyazott függvényből
vége
vége
vége
Fent a MATLAB a fő függvény nevét a következőképpen határozza meg parentFunction , és két beágyazott függvényt határoz meg: NesdFunction1 és NesdFunction2 .
A nestedFunction1 megjeleníti a szülőfüggvény x változójának értékét, és meghatároz egy másik y változót. Ezt követően meghívja a nestedFunction2 függvény nevét.
A nestedFunction2 megjeleníti az x értékét a szülőfüggvényből és a nestedFunction1-ből, valamint az y értékét a nestedFunction1-ből. A kód végrehajtása után a kimenet mindkét beágyazott függvény üzeneteit mutatja az x és y értékekkel együtt.
Változók megosztása a beágyazott függvényektől a fő függvényig
A MATLAB-ban változókat is definiálhatunk és megoszthatunk beágyazotttól a főfüggvényig.
funkció szülőnestedfunc
funkció nestedfunc
x = 10 ;
vége
x = x+ 1 ;
diszp ( x ) ;
vége
Ez a MATLAB kód egy szülő nevű függvényt határoz meg, amely egy beágyazott függvényt tartalmaz nestedfunc . A kód 10-es értéket rendel az x változóhoz a nestedfunc függvényben, majd 1-gyel növeli azt a szülőfüggvényben, és megjeleníti az eredményt.
Több funkció beágyazása ugyanazon szülő funkció alá
A MATLAB-ban több függvényt is beépíthetünk egyetlen fő szülőfüggvénybe.
% több függvény ugyanazon szülőfüggvény alattfunkció szülő
Nestedfunc1
Nestedfunc2
funkció Nestedfunc1
fprintf ( 'linuxhint.com\n' ) ;
vége
funkció Nestedfunc2
fprintf ( 'Üdvözöljük a Linuxhintben' ) ;
vége
vége
Ez a MATLAB kód egy szülő nevű függvényt definiál, amely két beágyazott függvényt tartalmaz: a nesedfunc1 és a nestedfunc2. A szülő függvény meghívásakor mindkét beágyazott függvényt végrehajtja. A nestedfunc1 a Linuxhint.com, a nestedfunc2 pedig a „Welcome To Linuxhint” üzenetet írja ki.
Változók megosztása a beágyazott függvények között
A MATLAB-ban egyszülős függvényváltozókat is meghatározhatunk és megoszthatunk két beágyazott függvénnyel.
% két beágyazott függvény ugyanazon szülőfüggvény alattfunkció szülő
x = 5
beágyazott1
beágyazott2
funkció beágyazott1
x = x* 2 ;
vége
funkció beágyazott2
x = x+ 5 ;
vége
diszp ( x )
vége
Ez a MATLAB-kód egy szülő nevű függvényt határoz meg, amely egy 5-ös értékű x változót deklarál. Ezután két beágyazott függvényt tartalmaz: a nesed1-et és a nesd2-t.
A nesd1-ben az x értéke megszorozódik 2-vel, de mivel x-et nem adják át kifejezetten argumentumként, a külső x változó módosítása helyett új x helyi változót hoz létre a nesd1-en belül.
A nested2-ben az x értéke 5-tel növekszik, ezzel is létrehozva egy új x helyi változót a nested2-n belül.
A beágyazott függvények végrehajtása után a kód megjeleníti a külső x változó értékét, amely változatlan marad 5-nél, mert a beágyazott függvényekben végzett módosítások csak a függvényeken belüli lokális változókat érintik, a külső változót nem.
Következtetés
A MATLAB beágyazott függvényei rendszerezhetik a kódot, javíthatják az újrafelhasználhatóságot és javíthatják a teljesítményt. Lehetővé teszik a függvények számára a szülőfüggvényeikben definiált változók elérését és módosítását, ami jobb kódbeágyazást tesz lehetővé. A beágyazott függvények csökkentették a globális változók vagy a függvények közötti több argumentum átadásának szükségességét. Ez a cikk a MATLAB beágyazott függvényeinek különféle példáit ismerteti.