Kako koristiti ugniježđene funkcije u MATLAB-u

Kako Koristiti Ugnijezdene Funkcije U Matlab U



Ugniježđene funkcije u MATLAB-u mogu definirati funkcije unutar drugih funkcija. To može biti korisno za organiziranje koda, mogućnost višekratne upotrebe koda i poboljšanje izvedbe.

Ugniježđena funkcija je funkcija koja se stvara unutar druge funkcije u MATLAB-u. Posebna stvar kod ugniježđenih funkcija je da mogu koristiti i mijenjati varijable koje su definirane u nadređenoj funkciji.

Sintaksa







Ove ugniježđene funkcije u MATLAB-u mogu lako pristupiti varijablama nadređene funkcije. Evo sintakse za definiranje ugniježđenih funkcija u MATLAB-u:



funkcija roditelj

disp ( 'Nadređena funkcija' )

nestedfx

funkcija nestedfx

disp ( 'Ugniježđena funkcija' )

kraj

kraj

Primjer koda

U nastavku smo dali MATLAB kod ugniježđene funkcije:



funkcija parentFunction

x = 10 ;



nestedFunction1 ( )



% Ugniježđena funkcija 1

funkcija nestedFunction1

disp ( 'Inside nestedFunction1' ) ;

disp ( x ) ; % Pristup varijabli x iz nadređene funkcije

i = dvadeset ;



ugniježđenaFunkcija2 ( )



% Ugniježđena funkcija 2

funkcija ugniježđenaFunkcija2

disp ( 'Unutar ugniježđene funkcije2' ) ;

disp ( x ) ; % Pristup varijabli x iz nadređene i ugniježđene funkcije 1

disp ( i ) ; % Pristup varijabli y iz ugniježđene funkcije 1

kraj

kraj

kraj

Gore, MATLAB definira naziv glavne funkcije kao parentFunction , i definira dvije ugniježđene funkcije: nestedFunction1 i ugniježđenaFunkcija2 .





NestedFunction1 prikazuje vrijednost varijable x iz nadređene funkcije i definira drugu varijablu y. Nakon toga će pozvati funkciju pod imenom nestedFunction2.

NestedFunction2 prikazuje vrijednost x iz nadređene funkcije i nestedFunction1, kao i vrijednost y iz nestedFunction1. Nakon izvršavanja koda, izlaz će prikazati poruke iz obje ugniježđene funkcije, zajedno s vrijednostima x i y.



  Snimka zaslona računala Opis automatski generiran sa srednjom pouzdanošću

Dijeljenje varijabli iz ugniježđenih funkcija u glavnu funkciju

U MATLAB-u također možemo definirati varijable i dijeliti ih od ugniježđene do glavne funkcije.

funkcija roditelj

ugniježđenafunc

funkcija ugniježđenafunc

x = 10 ;

kraj

x = x+ 1 ;

disp ( x ) ;

kraj

Ovaj MATLAB kod definira funkciju zvanu roditelj koja sadrži ugniježđenu funkciju zvanu ugniježđenafunc . Kod dodjeljuje vrijednost 10 varijabli x u nestedfunc, zatim je povećava za 1 u nadređenoj funkciji i prikazuje rezultat.

Gniježđenje više funkcija pod istom nadređenom funkcijom

U MATLAB također možemo uključiti više funkcija unutar jedne glavne nadređene funkcije.

% više funkcija pod istom nadređenom funkcijom

funkcija roditelj

ugniježđenafunc1

nestedfunc2

funkcija ugniježđenafunc1

fprintf ( 'linuxhint.com\n' ) ;

kraj

funkcija nestedfunc2

fprintf ( 'Dobro došli u Linuxhint' ) ;

kraj

kraj

Ovaj MATLAB kod definira funkciju zvanu roditelj koja sadrži dvije ugniježđene funkcije: nestedfunc1 i nestedfunc2. Kada se roditeljska funkcija pozove, ona izvršava obje ugniježđene funkcije. nestedfunc1 ispisuje poruku Linuxhint.com, a nestedfunc2 ispisuje poruku 'Dobro došli u Linuxhint'.

  Slika koja sadrži tekst, font, snimku zaslona Opis automatski generiran

Dijeljenje varijabli između ugniježđenih funkcija

U MATLAB-u također možemo definirati i dijeliti varijable jednoroditeljske funkcije s dvije ugniježđene funkcije.

% dvije ugniježđene funkcije pod istom nadređenom funkcijom

funkcija roditelj

x = 5

ugniježđeno1

ugniježđeno2

funkcija ugniježđeno1

x = x* 2 ;

kraj

funkcija ugniježđeno2

x = x+ 5 ;

kraj

disp ( x )

kraj

Ovaj MATLAB kod definira funkciju zvanu parent koja deklarira varijablu x s ​​vrijednošću 5. Zatim sadrži dvije ugniježđene funkcije: nested1 i nested2.

U nested1, vrijednost x se množi s 2, ali budući da x nije eksplicitno proslijeđen kao argument, stvara novu lokalnu varijablu x unutar nested1 umjesto modificiranja vanjske x varijable.

U nested2, vrijednost x se povećava za 5, također stvarajući novu lokalnu varijablu x unutar nested2.

Nakon izvršavanja ugniježđenih funkcija, kod prikazuje vrijednost vanjske varijable x, koja ostaje nepromijenjena na 5 jer izmjene učinjene u ugniježđenim funkcijama utječu samo na lokalne varijable unutar tih funkcija, a ne na vanjsku varijablu.

  Automatski generirana slika koja sadrži tekst, snimku zaslona, ​​softver, redak Opis

Zaključak

Ugniježđene funkcije u MATLAB-u mogu organizirati kod, povećati mogućnost ponovne upotrebe i poboljšati performanse. Funkcijama omogućuju pristup i izmjenu varijabli definiranih u njihovim roditeljskim funkcijama, omogućujući bolju enkapsulaciju koda. Ugniježđene funkcije smanjile su potrebu za globalnim varijablama ili prosljeđivanjem višestrukih argumenata između funkcija. Ovaj članak pokriva razne primjere ugniježđenih funkcija u MATLAB-u.