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.
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 magulangnestedfunc
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 functionfunction 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'.
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 functionfunction 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.
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.