Sådan bruger du indlejrede funktioner i MATLAB

Sadan Bruger Du Indlejrede Funktioner I Matlab



Indlejrede funktioner i MATLAB kan definere funktioner inden for andre funktioner. Dette kan være nyttigt til at organisere kode, gøre kode mere genbrugelig og forbedre ydeevnen.

En indlejret funktion er en funktion, der er oprettet inde i en anden funktion i MATLAB. Det særlige ved indlejrede funktioner er, at de kan bruge og ændre variabler, der er defineret i den overordnede funktion.

Syntaks







Disse indlejrede funktioner i MATLAB kan nemt få adgang til overordnede funktionsvariabler. Her er syntaksen til at definere indlejrede funktioner i MATLAB:



fungere forælder

disp ( 'Forældrefunktion' )

nestedfx

fungere nestedfx

disp ( 'Indlejret funktion' )

ende

ende

Eksempel kode

Nedenfor har vi givet en MATLAB-kode for en indlejret funktion:



fungere forældrefunktion

x = 10 ;



indlejret funktion1 ( )



% Indlejret funktion 1

fungere indlejret funktion1

disp ( 'Inside nestedFunction1' ) ;

disp ( x ) ; % Adgang til variablen x fra den overordnede funktion

og = tyve ;



indlejret funktion2 ( )



% Indlejret funktion 2

fungere indlejret funktion2

disp ( 'Inside nestedFunction2' ) ;

disp ( x ) ; % Adgang til variablen x fra den overordnede og indlejrede funktion 1

disp ( og ) ; % Adgang til variablen y fra indlejret funktion 1

ende

ende

ende

Ovenfor definerer MATLAB hovedfunktionsnavnet som forældrefunktion , og den definerer to indlejrede funktioner: indlejret funktion1 og indlejret funktion2 .





NestedFunction1 viser værdien af ​​variablen x fra den overordnede funktion og definerer en anden variabel y. Derefter vil den kalde funktionsnavnet nestedFunction2.

NestedFunction2 viser værdien af ​​x fra både den overordnede funktion og nestedFunction1, såvel som værdien af ​​y fra nestedFunction1. Efter eksekvering af koden vil outputtet vise meddelelserne fra begge indlejrede funktioner sammen med værdierne af x og y.



  Et skærmbillede af en computerbeskrivelse genereret automatisk med medium selvtillid

Deling af variabler fra indlejrede funktioner til hovedfunktionen

I MATLAB kan vi også definere variabler og dele dem fra indlejret til hovedfunktion.

fungere forælder

nestedfunc

fungere nestedfunc

x = 10 ;

ende

x = x+ 1 ;

disp ( x ) ;

ende

Denne MATLAB-kode definerer en funktion kaldet overordnet, der indeholder en indlejret funktion kaldet nestedfunc . Koden tildeler en værdi på 10 til variablen x i nestedfunc, øger den derefter med 1 i den overordnede funktion og viser resultatet.

Indlejring af flere funktioner under den samme overordnede funktion

I MATLAB kan vi også inkludere flere funktioner i en enkelt overordnet hovedfunktion.

% flere funktioner under samme overordnede funktion

fungere forælder

nestedfunc1

nestedfunc2

fungere nestedfunc1

fprintf ( 'linuxhint.com\n' ) ;

ende

fungere nestedfunc2

fprintf ( 'Velkommen til Linuxhint' ) ;

ende

ende

Denne MATLAB-kode definerer en funktion kaldet overordnet, der indeholder to indlejrede funktioner: nestedfunc1 og nestedfunc2. Når den overordnede funktion kaldes, udfører den begge indlejrede funktioner. nestedfunc1 udskriver beskeden Linuxhint.com, og nestedfunc2 udskriver beskeden 'Welcome To Linuxhint'.

  Et billede, der indeholder tekst, skrifttype, skærmbillede. Beskrivelse genereres automatisk

Deling af variabler blandt indlejrede funktioner

I MATLAB kan vi også definere og dele single-parent funktionsvariabler med to indlejrede funktioner.

% to indlejrede funktioner under den samme overordnede funktion

fungere forælder

x = 5

indlejret 1

indlejret 2

fungere indlejret 1

x = x* 2 ;

ende

fungere indlejret 2

x = x+ 5 ;

ende

disp ( x )

ende

Denne MATLAB-kode definerer en funktion kaldet overordnet, der erklærer en variabel x med værdien 5. Den indeholder derefter to indlejrede funktioner: indlejret1 og indlejret2.

I nested1 ganges værdien af ​​x med 2, men da x ikke eksplicit sendes som et argument, opretter den en ny lokal variabel x i nested1 i stedet for at ændre den ydre x-variabel.

I nested2 øges værdien af ​​x med 5, hvilket også skaber en ny lokal variabel x i indlejret2.

Efter at have udført de indlejrede funktioner, viser koden værdien af ​​den ydre x-variabel, som forbliver uændret på 5, fordi ændringerne i de indlejrede funktioner kun påvirker de lokale variable i disse funktioner og ikke den ydre variabel.

  Et billede, der indeholder tekst, skærmbillede, software, linje Beskrivelse genereres automatisk

Konklusion

De indlejrede funktioner i MATLAB kan organisere kode, forbedre genbrugbarheden og forbedre ydeevnen. De tillader funktioner at få adgang til og ændre variabler defineret i deres overordnede funktioner, hvilket muliggør bedre kodeindkapsling. Indlejrede funktioner reducerede behovet for globale variabler eller overføring af flere argumenter mellem funktioner. Denne artikel dækker forskellige eksempler på indlejrede funktioner i MATLAB.