Како користити угнежђене функције у МАТЛАБ-у

Kako Koristiti Ugnezdene Funkcije U Matlab U



Угнежђене функције у МАТЛАБ-у могу дефинисати функције унутар других функција. Ово може бити корисно за организовање кода, за вишекратну употребу кода и за побољшање перформанси.

Угнежђена функција је функција која је креирана унутар друге функције у МАТЛАБ-у. Посебна ствар у вези са угнежђеним функцијама је да могу да користе и мењају променљиве које су дефинисане у родитељској функцији.

Синтакса







Ове угнежђене функције у МАТЛАБ-у могу лако приступити варијаблама родитељске функције. Ево синтаксе за дефинисање угнежђених функција у МАТЛАБ-у:



функција родитељ

дисп ( 'Родитељска функција' )

нестедфк

функција нестедфк

дисп ( 'Угнежђена функција' )

крај

крај

Пример кода

У наставку смо дали МАТЛАБ код угнежђене функције:



функција парентФунцтион

к = 10 ;



нестедФунцтион1 ( )



% Угнежђена функција 1

функција нестедФунцтион1

дисп ( 'Унутар угнијежђене функције1' ) ;

дисп ( Икс ) ; % Приступ променљивој к из родитељске функције

и = двадесет ;



нестедФунцтион2 ( )



% Угнежђена функција 2

функција нестедФунцтион2

дисп ( 'Инсиде нестедФунцтион2' ) ;

дисп ( Икс ) ; % Приступ променљивој к из родитељске и угнежђене функције 1

дисп ( и ) ; % Приступ променљивој и из угнежђене функције 1

крај

крај

крај

Изнад, МАТЛАБ дефинише име главне функције као парентФунцтион и дефинише две угнежђене функције: нестедФунцтион1 и нестедФунцтион2 .





НестедФунцтион1 приказује вредност променљиве к из родитељске функције и дефинише другу променљиву и. Након тога, позваће име функције нестедФунцтион2.

НестедФунцтион2 приказује вредност к из родитељске функције и нестедФунцтион1, као и вредност и из нестедФунцтион1. Након извршења кода, излаз ће приказати поруке обе угнежђене функције, заједно са вредностима к и и.



  Снимак екрана описа рачунара аутоматски генерисан са средњом поузданошћу

Дељење променљивих од угнежђених функција до главне функције

У МАТЛАБ-у такође можемо дефинисати променљиве и делити их од угнежђене у главну функцију.

функција родитељ

нестедфунц

функција нестедфунц

к = 10 ;

крај

к = к+ 1 ;

дисп ( Икс ) ;

крај

Овај МАТЛАБ код дефинише функцију која се зове родитељ која садржи угнежђену функцију која се зове нестедфунц . Код додељује вредност 10 променљивој к у нестедфунц, затим је повећава за 1 у родитељској функцији и приказује резултат.

Угнежђивање више функција под истом родитељском функцијом

У МАТЛАБ-у такође можемо укључити више функција унутар једне главне родитељске функције.

% више функција под истом родитељском функцијом

функција родитељ

нестедфунц1

нестедфунц2

функција нестедфунц1

фпринтф ( 'линукхинт.цом\н' ) ;

крај

функција нестедфунц2

фпринтф ( 'Добродошли у Линукхинт' ) ;

крај

крај

Овај МАТЛАБ код дефинише функцију звану родитељ која садржи две угнежђене функције: нестедфунц1 и нестедфунц2. Када се позове родитељска функција, она извршава обе угнежђене функције. нестедфунц1 штампа поруку Линукхинт.цом, а нестедфунц2 штампа поруку „Велцоме То Линукхинт“.

  Аутоматски генерисана слика која садржи текст, фонт, снимак екрана

Дељење променљивих међу угнежђеним функцијама

У МАТЛАБ-у такође можемо дефинисати и делити променљиве једнородитељских функција са две угнежђене функције.

% две угнежђене функције под истом родитељском функцијом

функција родитељ

к = 5

нестед1

нестед2

функција нестед1

к = к* 2 ;

крај

функција нестед2

к = к+ 5 ;

крај

дисп ( Икс )

крај

Овај МАТЛАБ код дефинише функцију звану родитељ која декларише променљиву к са вредношћу 5. Затим садржи две угнежђене функције: угнежђене1 и угнежђене2.

У нестед1, вредност к се множи са 2, али пошто к није експлицитно прослеђен као аргумент, креира нову локалну променљиву к унутар угнежђеног1 уместо да мења спољашњу к променљиву.

У нестед2, вредност к се повећава за 5, такође стварајући нову локалну променљиву к унутар угнежђеног2.

Након извршавања угнежђених функција, код приказује вредност спољашње променљиве к, која остаје непромењена на 5 јер модификације направљене у угнежђеним функцијама утичу само на локалне променљиве унутар тих функција, а не на спољашњу променљиву.

  Аутоматски генерисана слика која садржи текст, снимак екрана, софтвер, ред

Закључак

Угнежђене функције у МАТЛАБ-у могу организовати код, побољшати поновну употребу и побољшати перформансе. Они дозвољавају функцијама да приступе и модификују променљиве дефинисане у њиховим родитељским функцијама, омогућавајући бољу енкапсулацију кода. Угнежђене функције су смањиле потребу за глобалним променљивим или преношењем више аргумената између функција. Овај чланак покрива различите примере угнежђених функција у МАТЛАБ-у.