Sisäkkäisten funktioiden käyttäminen MATLABissa

Sisakkaisten Funktioiden Kayttaminen Matlabissa



Sisäkkäiset funktiot MATLABissa voivat määrittää toimintoja muiden funktioiden sisällä. Tästä voi olla hyötyä koodin järjestämisessä, koodin uudelleenkäytettävyyden parantamisessa ja suorituskyvyn parantamisessa.

Sisäkkäinen funktio on funktio, joka luodaan toisen funktion sisällä MATLABissa. Sisäkkäisten funktioiden erikoisuus on, että ne voivat käyttää ja muuttaa emofunktiossa määritettyjä muuttujia.

Syntaksi







Nämä sisäkkäiset funktiot MATLABissa voivat helposti käyttää pääfunktiomuuttujia. Tässä on syntaksi sisäkkäisten funktioiden määrittämiseen MATLABissa:



toiminto vanhempi

disp ( 'Vanhemman toiminto' )

nestedfx

toiminto nestedfx

disp ( 'Sisäkkäinen toiminto' )

loppu

loppu

Esimerkkikoodi

Alla olemme antaneet sisäkkäisen funktion MATLAB-koodin:



toiminto parentFunction

x = 10 ;



NestedFunction1 ( )



% sisäkkäinen funktio 1

toiminto NestedFunction1

disp ( 'Inside NesdFunction1' ) ;

disp ( x ) ; % Pääsy muuttujaan x pääfunktiosta

ja = kaksikymmentä ;



NestedFunction2 ( )



% sisäkkäinen funktio 2

toiminto NestedFunction2

disp ( 'Inside NesdFunction2' ) ;

disp ( x ) ; % Muuttujan x käyttö pää- ja sisäkkäisfunktiosta 1

disp ( ja ) ; % Muuttujan y käyttö sisäkkäisfunktiosta 1

loppu

loppu

loppu

Yllä MATLAB määrittelee pääfunktion nimen muodossa parentFunction , ja se määrittää kaksi sisäkkäistä funktiota: NestedFunction1 ja NestedFunction2 .





NesdFunction1 näyttää emofunktion muuttujan x arvon ja määrittää toisen muuttujan y. Sen jälkeen se kutsuu funktion nimeä nesdFunction2.

NestedFunction2 näyttää x:n arvon sekä pääfunktiosta että nestedFunction1:stä sekä y:n arvon nestedFunction1:stä. Koodin suorittamisen jälkeen tulos näyttää molempien sisäkkäisten funktioiden viestit sekä x- ja y-arvot.



  Kuvakaappaus tietokoneesta Kuvaus luotu automaattisesti keskitasoisella varmuudella

Muuttujien jakaminen sisäkkäisistä funktioista pääfunktioon

MATLABissa voimme myös määritellä muuttujia ja jakaa ne sisäkkäisistä funktioista pääfunktioon.

toiminto vanhempi

nestedfunc

toiminto nestedfunc

x = 10 ;

loppu

x = x+ 1 ;

disp ( x ) ;

loppu

Tämä MATLAB-koodi määrittelee funktion nimeltä vanhempi, joka sisältää sisäkkäisen funktion nimeltä nestedfunc . Koodi antaa Nesdfunc:n muuttujalle x arvon 10, lisää sitä sitten 1:llä pääfunktiossa ja näyttää tuloksen.

Useiden toimintojen sijoittaminen saman päätoiminnon alle

MATLABissa voimme myös sisällyttää useita toimintoja yhteen päätoimintoon.

% useita toimintoja saman pääfunktion alla

toiminto vanhempi

nestedfunc1

nestedfunc2

toiminto nestedfunc1

fprintf ( 'linuxhint.com\n' ) ;

loppu

toiminto nestedfunc2

fprintf ( 'Tervetuloa Linuxhintiin' ) ;

loppu

loppu

Tämä MATLAB-koodi määrittelee funktion, jonka nimi on vanhempi ja joka sisältää kaksi sisäkkäistä funktiota: nestedfunc1 ja nestedfunc2. Kun pääfunktiota kutsutaan, se suorittaa molemmat sisäkkäiset funktiot. nestedfunc1 tulostaa viestin Linuxhint.com ja nestedfunc2 viestin 'Welcome to Linuxhint'.

  Automaattisesti luotu kuva, joka sisältää tekstiä, fontin ja kuvakaappauksen

Muuttujien jakaminen sisäkkäisten funktioiden kesken

MATLABissa voimme myös määrittää ja jakaa yhden ylätason funktiomuuttujia kahdella sisäkkäisellä funktiolla.

% kaksi sisäkkäistä funktiota saman pääfunktion alla

toiminto vanhempi

x = 5

sisäkkäinen1

sisäkkäinen2

toiminto sisäkkäinen1

x = x* 2 ;

loppu

toiminto sisäkkäinen2

x = x+ 5 ;

loppu

disp ( x )

loppu

Tämä MATLAB-koodi määrittelee funktion nimeltä vanhempi ja joka ilmoittaa muuttujan x arvolla 5. Se sisältää sitten kaksi sisäkkäistä funktiota: nested1 ja nested2.

Nested1:ssä x:n arvo kerrotaan kahdella, mutta koska x:ää ei välitetä erikseen argumenttina, se luo uuden paikallisen muuttujan x nested1:ssä sen sijaan, että muuttaisi ulompaa x-muuttujaa.

Nested2:ssa x:n arvoa kasvatetaan 5:llä, mikä myös luo uuden paikallisen muuttujan x Nested2:n sisällä.

Sisäkkäisten funktioiden suorittamisen jälkeen koodi näyttää ulomman x-muuttujan arvon, joka pysyy muuttumattomana arvossa 5, koska sisäkkäisiin funktioihin tehdyt muutokset vaikuttavat vain näiden funktioiden paikallisiin muuttujiin, eivät ulompaan muuttujaan.

  Kuva, joka sisältää tekstiä, kuvakaappauksen, ohjelmiston, rivin Kuvaus luodaan automaattisesti

Johtopäätös

MATLABin sisäkkäiset toiminnot voivat järjestää koodin, parantaa uudelleenkäytettävyyttä ja parantaa suorituskykyä. Niiden avulla funktiot voivat käyttää ja muokata emofunktioissa määritettyjä muuttujia, mikä mahdollistaa paremman koodin kapseloinnin. Sisäkkäiset funktiot vähensivät globaalien muuttujien tarvetta tai useiden argumenttien välittämistä funktioiden välillä. Tämä artikkeli kattaa useita esimerkkejä sisäkkäisistä funktioista MATLABissa.