Ako používať vnorené funkcie v MATLABE

Ako Pouzivat Vnorene Funkcie V Matlabe



Vnorené funkcie v MATLABE môžu definovať funkcie v rámci iných funkcií. To môže byť užitočné pri organizovaní kódu, zvyšovaní jeho použiteľnosti a zlepšovaní výkonu.

Vnorená funkcia je funkcia, ktorá je vytvorená vo vnútri inej funkcie v MATLABE. Zvláštnosťou vnorených funkcií je, že môžu používať a meniť premenné, ktoré sú definované v rodičovskej funkcii.

Syntax







Tieto vnorené funkcie v MATLABE môžu ľahko pristupovať k premenným rodičovských funkcií. Tu je syntax na definovanie vnorených funkcií v MATLABE:



funkciu rodič

disp ( 'Rodičovská funkcia' )

nestedfx

funkciu nestedfx

disp ( 'Vnorená funkcia' )

koniec

koniec

Príklad kódu

Nižšie uvádzame MATLAB kód vnorenej funkcie:



funkciu rodičovská funkcia

x = 10 ;



nestedFunction1 ( )



% Vnorená funkcia 1

funkciu nestedFunction1

disp ( 'Inside nestedFunction1' ) ;

disp ( X ) ; % Prístup k premennej x z nadradenej funkcie

a = dvadsať ;



nestedFunction2 ( )



% Vnorená funkcia 2

funkciu nestedFunction2

disp ( 'Inside nestedFunction2' ) ;

disp ( X ) ; % Prístup k premennej x z nadradenej a vnorenej funkcie 1

disp ( a ) ; % Prístup k premennej y z vnorenej funkcie 1

koniec

koniec

koniec

Vyššie, MATLAB definuje názov hlavnej funkcie ako rodičovská funkcia a definuje dve vnorené funkcie: nestedFunction1 a nestedFunction2 .





NestedFunction1 zobrazuje hodnotu premennej x z nadradenej funkcie a definuje ďalšiu premennú y. Potom zavolá názov funkcie nestedFunction2.

NestedFunction2 zobrazuje hodnotu x z nadradenej funkcie a nestedFunction1, ako aj hodnotu y z nestedFunction1. Po vykonaní kódu sa na výstupe zobrazia správy z oboch vnorených funkcií spolu s hodnotami x a y.



  Snímka obrazovky popisu počítača automaticky generovaná so strednou spoľahlivosťou

Zdieľanie premenných z vnorených funkcií do hlavnej funkcie

V MATLABE môžeme tiež definovať premenné a zdieľať ich od vnorenej do hlavnej funkcie.

funkciu rodič

nestedfunc

funkciu nestedfunc

x = 10 ;

koniec

x = x+ 1 ;

disp ( X ) ;

koniec

Tento kód MATLABu definuje funkciu s názvom parent, ktorá obsahuje volanú vnorenú funkciu nestedfunc . Kód priradí premennej x v nestedfunc hodnotu 10, potom ju zvýši o 1 v nadradenej funkcii a zobrazí výsledok.

Vnorenie viacerých funkcií do rovnakej nadradenej funkcie

V MATLABE môžeme tiež zahrnúť viacero funkcií do jednej hlavnej nadradenej funkcie.

% viacerých funkcií v rámci rovnakej nadradenej funkcie

funkciu rodič

nestedfunc1

nestedfunc2

funkciu nestedfunc1

fprintf ( 'linuxhint.com\n' ) ;

koniec

funkciu nestedfunc2

fprintf ( „Vitajte v Linuxhint“ ) ;

koniec

koniec

Tento kód MATLABu definuje funkciu s názvom parent, ktorá obsahuje dve vnorené funkcie: nestedfunc1 a nestedfunc2. Keď sa volá rodičovská funkcia, vykoná obe vnorené funkcie. nestedfunc1 vytlačí správu Linuxhint.com a nestedfunc2 vytlačí správu „Welcome To Linuxhint“.

  Automaticky vygenerovaný obrázok obsahujúci text, písmo, popis snímky obrazovky

Zdieľanie premenných medzi vnorenými funkciami

V MATLABE môžeme tiež definovať a zdieľať premenné funkcie s jedným rodičom s dvoma vnorenými funkciami.

% dve vnorené funkcie pod rovnakou nadradenou funkciou

funkciu rodič

x = 5

vnorené1

vnorené2

funkciu vnorené1

x = x* 2 ;

koniec

funkciu vnorené2

x = x+ 5 ;

koniec

disp ( X )

koniec

Tento kód MATLABu definuje funkciu s názvom parent, ktorá deklaruje premennú x s hodnotou 5. Potom obsahuje dve vnorené funkcie: nested1 a nested2.

V nested1 sa hodnota x vynásobí 2, ale keďže x nie je explicitne odovzdané ako argument, vytvorí novú lokálnu premennú x v rámci nested1 namiesto úpravy vonkajšej premennej x.

V nested2 sa hodnota x zvýši o 5, čím sa tiež vytvorí nová lokálna premenná x v rámci nested2.

Po vykonaní vnorených funkcií kód zobrazí hodnotu vonkajšej premennej x, ktorá zostáva nezmenená na 5, pretože úpravy vykonané vo vnorených funkciách ovplyvňujú iba lokálne premenné v rámci týchto funkcií a nie vonkajšiu premennú.

  Automaticky vygenerovaný obrázok obsahujúci text, snímku obrazovky, softvér, riadok Popis

Záver

Vnorené funkcie v MATLABE môžu organizovať kód, zlepšiť znovupoužiteľnosť a zlepšiť výkon. Umožňujú funkciám pristupovať a upravovať premenné definované v ich nadradených funkciách, čím umožňujú lepšie zapuzdrenie kódu. Vnorené funkcie znížili potrebu globálnych premenných alebo odovzdávania viacerých argumentov medzi funkciami. Tento článok obsahuje rôzne príklady vnorených funkcií v MATLABE.