Slik bruker du nestede funksjoner i MATLAB

Slik Bruker Du Nestede Funksjoner I Matlab



Nestede funksjoner i MATLAB kan definere funksjoner innenfor andre funksjoner. Dette kan være nyttig for å organisere kode, gjøre koden mer gjenbrukbar og forbedre ytelsen.

En nestet funksjon er en funksjon som er opprettet inne i en annen funksjon i MATLAB. Det spesielle med nestede funksjoner er at de kan bruke og endre variabler som er definert i overordnet funksjon.

Syntaks







Disse nestede funksjonene i MATLAB kan enkelt få tilgang til overordnede funksjonsvariabler. Her er syntaksen for å definere nestede funksjoner i MATLAB:



funksjon forelder

disp ( 'Foreldrefunksjon' )

nestedfx

funksjon nestedfx

disp ( 'Nestet funksjon' )

slutt

slutt

Eksempelkode

Nedenfor har vi gitt en MATLAB-kode for en nestet funksjon:



funksjon foreldrefunksjon

x = 10 ;



nestedFunction1 ( )



% Nestet funksjon 1

funksjon nestedFunction1

disp ( 'Inside nestedFunction1' ) ;

disp ( x ) ; % Tilgang til variabelen x fra den overordnede funksjonen

og = tjue ;



nestedFunction2 ( )



% Nestet funksjon 2

funksjon nestedFunction2

disp ( 'Inside nestedFunction2' ) ;

disp ( x ) ; % Tilgang til variabelen x fra den overordnede og nestede funksjonen 1

disp ( og ) ; % Tilgang til variabelen y fra nestet funksjon 1

slutt

slutt

slutt

Ovenfor definerer MATLAB hovedfunksjonsnavnet som foreldrefunksjon , og den definerer to nestede funksjoner: nestedFunction1 og nestedFunction2 .





NestedFunction1 viser verdien til variabelen x fra den overordnede funksjonen og definerer en annen variabel y. Etter det vil den kalle funksjonsnavnet nestedFunction2.

NestedFunction2 viser verdien av x fra både den overordnede funksjonen og nestedFunction1, samt verdien av y fra nestedFunction1. Etter å ha utført koden, vil utdataene vise meldingene fra begge nestede funksjoner, sammen med verdiene til x og y.



  Et skjermbilde av en datamaskinbeskrivelse generert automatisk med middels selvtillit

Deling av variabler fra nestede funksjoner til hovedfunksjonen

I MATLAB kan vi også definere variabler og dele dem fra nestet til hovedfunksjon.

funksjon forelder

nestedfunc

funksjon nestedfunc

x = 10 ;

slutt

x = x+ 1 ;

disp ( x ) ;

slutt

Denne MATLAB-koden definerer en funksjon kalt overordnet som inneholder en nestet funksjon kalt nestedfunc . Koden tildeler en verdi på 10 til variabelen x i nestedfunc, og øker den deretter med 1 i den overordnede funksjonen og viser resultatet.

Nesting av flere funksjoner under samme overordnede funksjon

I MATLAB kan vi også inkludere flere funksjoner i en enkelt hovedfunksjon.

% flere funksjoner under samme overordnede funksjon

funksjon forelder

nestedfunc1

nestedfunc2

funksjon nestedfunc1

fprintf ( 'linuxhint.com\n' ) ;

slutt

funksjon nestedfunc2

fprintf ( 'Velkommen til Linuxhint' ) ;

slutt

slutt

Denne MATLAB-koden definerer en funksjon kalt overordnet som inneholder to nestede funksjoner: nestedfunc1 og nestedfunc2. Når den overordnede funksjonen kalles, utfører den begge nestede funksjoner. nestedfunc1 skriver ut meldingen Linuxhint.com, og nestedfunc2 skriver ut meldingen 'Welcome To Linuxhint'.

  Et bilde som inneholder tekst, font, skjermbilde Beskrivelse genereres automatisk

Deling av variabler blant nestede funksjoner

I MATLAB kan vi også definere og dele single-parent funksjonsvariabler med to nestede funksjoner.

% to nestede funksjoner under samme overordnede funksjon

funksjon forelder

x = 5

nestet1

nestet2

funksjon nestet1

x = x* 2 ;

slutt

funksjon nestet2

x = x+ 5 ;

slutt

disp ( x )

slutt

Denne MATLAB-koden definerer en funksjon kalt overordnet som erklærer en variabel x med en verdi på 5. Den inneholder da to nestede funksjoner: nested1 og nested2.

I nested1 multipliseres verdien av x med 2, men siden x ikke eksplisitt sendes som et argument, oppretter den en ny lokal variabel x i nested1 i stedet for å endre den ytre x-variabelen.

I nested2 økes verdien av x med 5, og skaper også en ny lokal variabel x i nested2.

Etter å ha utført de nestede funksjonene, viser koden verdien til den ytre x-variabelen, som forblir uendret på 5 fordi endringene som er gjort i de nestede funksjonene bare påvirker de lokale variablene i disse funksjonene og ikke den ytre variabelen.

  Et bilde som inneholder tekst, skjermbilde, programvare, linjebeskrivelse genereres automatisk

Konklusjon

De nestede funksjonene i MATLAB kan organisere kode, forbedre gjenbrukbarheten og forbedre ytelsen. De lar funksjoner få tilgang til og modifisere variabler definert i overordnede funksjoner, noe som muliggjør bedre kodeinnkapsling. Nestede funksjoner reduserte behovet for globale variabler eller overføring av flere argumenter mellom funksjoner. Denne artikkelen dekker ulike eksempler på nestede funksjoner i MATLAB.