A beágyazott függvények használata a MATLAB-ban

A Beagyazott Fuggvenyek Hasznalata A Matlab Ban



A MATLAB beágyazott függvényei függvényeket határozhatnak meg más függvényeken belül. Ez hasznos lehet a kód rendszerezéséhez, a kód újrafelhasználhatóbbá tételéhez és a teljesítmény javításához.

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.



  Képernyőkép egy számítógépről Közepes megbízhatósággal automatikusan generált leírás

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 alatt

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

  Szöveget, betűtípust és képernyőképet tartalmazó kép automatikusan generálódik

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 alatt

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

  Szöveget, képernyőképet, szoftvert, leírást tartalmazó kép automatikusan generálódik

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.