Jak používat vnořené funkce v MATLABu

Jak Pouzivat Vnorene Funkce V Matlabu



Vnořené funkce v MATLABu mohou definovat funkce v rámci jiných funkcí. To může být užitečné pro organizování kódu, zvýšení znovupoužitelnosti kódu a zlepšení výkonu.

Vnořená funkce je funkce, která je vytvořena uvnitř jiné funkce v MATLABu. Zvláštností vnořených funkcí je to, že mohou používat a měnit proměnné, které jsou definovány v rodičovské funkci.

Syntax







Tyto vnořené funkce v MATLABu mohou snadno přistupovat k proměnným rodičovských funkcí. Zde je syntaxe pro definování vnořených funkcí v MATLABu:



funkce rodič

disp ( 'Rodičovská funkce' )

nestedfx

funkce nestedfx

disp ( 'Vnořená funkce' )

konec

konec

Příklad kódu

Níže uvádíme MATLAB kód vnořené funkce:



funkce rodičovská funkce

x = 10 ;



nestedFunction1 ( )



% Vnořená funkce 1

funkce nestedFunction1

disp ( 'Inside nestedFunction1' ) ;

disp ( X ) ; % Přístup k proměnné x z rodičovské funkce

a = dvacet ;



nestedFunction2 ( )



% Vnořená funkce 2

funkce nestedFunction2

disp ( 'Inside nestedFunction2' ) ;

disp ( X ) ; % Přístup k proměnné x z rodičovské a vnořené funkce 1

disp ( a ) ; % Přístup k proměnné y z vnořené funkce 1

konec

konec

konec

Výše MATLAB definuje název hlavní funkce jako rodičovská funkce a definuje dvě vnořené funkce: nestedFunction1 a nestedFunction2 .





NestedFunction1 zobrazuje hodnotu proměnné x z rodičovské funkce a definuje další proměnnou y. Poté zavolá název funkce nestedFunction2.

NestedFunction2 zobrazuje hodnotu x z rodičovské funkce i nestedFunction1 a také hodnotu y z nestedFunction1. Po provedení kódu se na výstupu zobrazí zprávy z obou vnořených funkcí spolu s hodnotami x a y.



  Snímek obrazovky popisu počítače automaticky generovaný se střední spolehlivostí

Sdílení proměnných z vnořených funkcí do hlavní funkce

V MATLABu můžeme také definovat proměnné a sdílet je od vnořené do hlavní funkce.

funkce rodič

nestedfunc

funkce nestedfunc

x = 10 ;

konec

x = x+ 1 ;

disp ( X ) ;

konec

Tento kód MATLABu definuje funkci nazvanou parent, která obsahuje volanou vnořenou funkci nestedfunc . Kód přiřadí hodnotu 10 proměnné x v nestedfunc, poté ji zvýší o 1 v rodičovské funkci a zobrazí výsledek.

Vnořování více funkcí pod stejnou nadřazenou funkci

V MATLABu můžeme také zahrnout více funkcí do jedné hlavní rodičovské funkce.

% více funkcí pod stejnou rodičovskou funkcí

funkce rodič

nestedfunc1

nestedfunc2

funkce nestedfunc1

fprintf ( 'linuxhint.com\n' ) ;

konec

funkce nestedfunc2

fprintf ( 'Vítejte v Linuxhintu' ) ;

konec

konec

Tento kód MATLABu definuje funkci s názvem parent, která obsahuje dvě vnořené funkce: nestedfunc1 a nestedfunc2. Když je volána rodičovská funkce, provádí obě vnořené funkce. nestedfunc1 vytiskne zprávu Linuxhint.com a nestedfunc2 vytiskne zprávu „Welcome To Linuxhint“.

  Obrázek obsahující text, písmo, popis snímku obrazovky automaticky vygenerován

Sdílení proměnných mezi vnořenými funkcemi

V MATLABu můžeme také definovat a sdílet proměnné funkce jednoho rodiče se dvěma vnořenými funkcemi.

% dvě vnořené funkce pod stejnou rodičovskou funkcí

funkce rodič

x = 5

vnořený1

vnořený2

funkce vnořený1

x = x* 2 ;

konec

funkce vnořený2

x = x+ 5 ;

konec

disp ( X )

konec

Tento kód MATLABu definuje funkci zvanou parent, která deklaruje proměnnou x s ​​hodnotou 5. Poté obsahuje dvě vnořené funkce: nested1 a nested2.

V nested1 je hodnota x vynásobena 2, ale protože x není explicitně předáno jako argument, vytvoří novou lokální proměnnou x v rámci nested1 namísto úpravy vnější x proměnné.

V nested2 se hodnota x zvýší o 5, čímž se také vytvoří nová lokální proměnná x v rámci nested2.

Po provedení vnořených funkcí kód zobrazí hodnotu vnější proměnné x, která zůstane nezměněna na 5, protože úpravy provedené ve vnořených funkcích ovlivní pouze lokální proměnné v rámci těchto funkcí a nikoli vnější proměnnou.

  Automaticky vygenerovaný obrázek obsahující text, snímek obrazovky, software, řádek Popis

Závěr

Vnořené funkce v MATLABu mohou organizovat kód, zlepšit znovupoužitelnost a zlepšit výkon. Umožňují funkcím přistupovat a upravovat proměnné definované v jejich nadřazených funkcích, což umožňuje lepší zapouzdření kódu. Vnořené funkce snížily potřebu globálních proměnných nebo předávání více argumentů mezi funkcemi. Tento článek popisuje různé příklady vnořených funkcí v MATLABu.