Paano Gamitin ang Mga Nested Function sa MATLAB

Paano Gamitin Ang Mga Nested Function Sa Matlab



Maaaring tukuyin ng mga nested function sa MATLAB ang mga function sa loob ng iba pang function. Maaari itong maging kapaki-pakinabang para sa pag-aayos ng code, paggawa ng code na mas magagamit muli, at pagpapabuti ng pagganap.

Ang nested function ay isang function na nilikha sa loob ng isa pang function sa MATLAB. Ang espesyal na bagay tungkol sa mga nested function ay na maaari nilang gamitin at baguhin ang mga variable na tinukoy sa parent function.

Syntax







Ang mga nested function na ito sa MATLAB ay madaling ma-access ang parent function variables. Narito ang syntax para sa pagtukoy ng mga nested function sa MATLAB:



function magulang

disp ( 'Pag-andar ng magulang' )

nestedfx

function nestedfx

disp ( 'Nested function' )

wakas

wakas

Halimbawang Code

Sa ibaba ay nagbigay kami ng MATLAB code ng isang nested function:



function parentFunction

x = 10 ;



nested Function1 ( )



% Nested function 1

function nested Function1

disp ( 'Inside nestedFunction1' ) ;

disp ( x ) ; % Pag-access sa variable x mula sa parent function

at = dalawampu ;



nested Function2 ( )



% Nested function 2

function nested Function2

disp ( 'Inside nestedFunction2' ) ;

disp ( x ) ; % Pag-access sa variable x mula sa parent at nested function 1

disp ( at ) ; % Pag-access sa variable y mula sa nested function 1

wakas

wakas

wakas

Sa itaas, tinukoy ng MATLAB ang pangunahing pangalan ng function bilang parentFunction , at tinutukoy nito ang dalawang nested function: nested Function1 at nested Function2 .





Ang nestedFunction1 ay nagpapakita ng halaga ng variable na x mula sa parent function at tumutukoy sa isa pang variable na y. Pagkatapos nito, tatawagin nito ang pangalan ng function na nestedFunction2.

Ipinapakita ng nestedFunction2 ang value ng x mula sa parent function at nestedFunction1, pati na rin ang value ng y mula sa nestedFunction1. Pagkatapos i-execute ang code, ipapakita ng output ang mga mensahe mula sa parehong nested function, kasama ang mga value ng x at y.



  Isang screenshot ng isang paglalarawan ng computer na awtomatikong nabuo nang may katamtamang kumpiyansa

Pagbabahagi ng mga Variable mula sa Nested Function hanggang sa Pangunahing Function

Sa MATLAB maaari din nating tukuyin ang mga variable at ibahagi ang mga ito mula sa nested hanggang sa pangunahing function.

function magulang

nestedfunc

function nestedfunc

x = 10 ;

wakas

x = x+ 1 ;

disp ( x ) ;

wakas

Ang MATLAB code na ito ay tumutukoy sa isang function na tinatawag na parent na naglalaman ng isang nested function na tinatawag nestedfunc . Ang code ay nagtatalaga ng value na 10 sa variable x sa nestedfunc, pagkatapos ay dinadagdagan ito ng 1 sa parent function at ipinapakita ang resulta.

Nesting Multiple Function sa Ilalim ng Parehong Parent Function

Sa MATLAB maaari din nating isama ang maraming function sa loob ng iisang pangunahing function ng magulang.

% maramihang mga function sa ilalim ng parehong parent function

function magulang

nestedfunc1

nestedfunc2

function nestedfunc1

fprintf ( 'linuxhint.com\n' ) ;

wakas

function nestedfunc2

fprintf ( 'Welcome To Linuxhint' ) ;

wakas

wakas

Ang MATLAB code na ito ay tumutukoy sa isang function na tinatawag na parent na naglalaman ng dalawang nested function: nestedfunc1 at nestedfunc2. Kapag tinawag ang parent function, ipapatupad nito ang parehong nested function. Ini-print ng nestedfunc1 ang mensaheng Linuxhint.com, at ini-print ng nestedfunc2 ang mensaheng 'Welcome To Linuxhint'.

  Awtomatikong nabuo ang isang larawang naglalaman ng teksto, font, paglalarawan ng screenshot

Pagbabahagi ng mga Variable sa Mga Nested Function

Sa MATLAB maaari din nating tukuyin at ibahagi ang mga variable ng single-parent na function na may dalawang nested function.

% dalawang nested function sa ilalim ng parehong parent function

function magulang

x = 5

nakapugad1

nakapugad2

function nakapugad1

x = x* 2 ;

wakas

function nakapugad2

x = x+ 5 ;

wakas

disp ( x )

wakas

Tinutukoy ng MATLAB code na ito ang isang function na tinatawag na parent na nagdedeklara ng variable na x na may value na 5. Naglalaman ito ng dalawang nested function: nested1 at nested2.

Sa nested1, ang halaga ng x ay pinarami ng 2, ngunit dahil ang x ay hindi tahasang ipinasa bilang argumento, ito ay gumagawa ng bagong lokal na variable na x sa loob ng nested1 sa halip na baguhin ang panlabas na x variable.

Sa nested2, ang halaga ng x ay dinaragdagan ng 5, na lumilikha din ng bagong lokal na variable na x sa loob ng nested2.

Pagkatapos isagawa ang mga nested function, ipinapakita ng code ang value ng outer x variable, na nananatiling hindi nagbabago sa 5 dahil ang mga pagbabagong ginawa sa mga nested function ay nakakaapekto lamang sa mga lokal na variable sa loob ng mga function na iyon at hindi ang panlabas na variable.

  Awtomatikong nabuo ang isang larawang naglalaman ng teksto, screenshot, software, Paglalarawan ng linya

Konklusyon

Ang mga nested function sa MATLAB ay maaaring mag-ayos ng code, mapahusay ang muling paggamit, at mapabuti ang pagganap. Pinapayagan nila ang mga function na i-access at baguhin ang mga variable na tinukoy sa kanilang mga parent function, na nagpapagana ng mas mahusay na code encapsulation. Binawasan ng mga nested function ang pangangailangan para sa mga global variable o pagpasa ng maraming argumento sa pagitan ng mga function. Sinasaklaw ng artikulong ito ang iba't ibang halimbawa ng mga nested function sa MATLAB.