Fungsi bersarang ialah fungsi yang dicipta di dalam fungsi lain dalam MATLAB. Perkara istimewa tentang fungsi bersarang ialah mereka boleh menggunakan dan menukar pembolehubah yang ditakrifkan dalam fungsi induk.
Sintaks
Fungsi bersarang ini dalam MATLAB boleh mengakses pembolehubah fungsi induk dengan mudah. Berikut ialah sintaks untuk menentukan fungsi bersarang dalam MATLAB:
fungsi ibu bapa
disp ( 'Fungsi ibu bapa' )
nestedfx
fungsi nestedfx
disp ( 'Fungsi bersarang' )
tamat
tamat
Contoh Kod
Di bawah ini kami telah memberikan kod MATLAB bagi fungsi bersarang:
fungsi indukFungsi
x = 10 ;
bersarangFungsi1 ( )
% Fungsi bersarang 1
fungsi bersarangFungsi1
disp ( 'Di dalam nestedFunction1' ) ;
disp ( x ) ; % Mengakses pembolehubah x daripada fungsi induk
dan = dua puluh ;
BersarangFungsi2 ( )
% Fungsi bersarang 2
fungsi BersarangFungsi2
disp ( 'Di dalam nestedFunction2' ) ;
disp ( x ) ; % Mengakses pembolehubah x daripada induk dan fungsi bersarang 1
disp ( dan ) ; % Mengakses pembolehubah y daripada fungsi bersarang 1
tamat
tamat
tamat
Di atas, MATLAB mentakrifkan nama fungsi utama sebagai indukFungsi , dan ia mentakrifkan dua fungsi bersarang: bersarangFungsi1 dan BersarangFungsi2 .
NestedFunction1 memaparkan nilai pembolehubah x daripada fungsi induk dan mentakrifkan pembolehubah lain y. Selepas itu, ia akan memanggil nama fungsi nestedFunction2.
NestedFunction2 memaparkan nilai x daripada kedua-dua fungsi induk dan nestedFunction1, serta nilai y daripada nestedFunction1. Selepas melaksanakan kod, output akan menunjukkan mesej daripada kedua-dua fungsi bersarang, bersama-sama dengan nilai x dan y.
Berkongsi Pembolehubah daripada Fungsi Bersarang kepada Fungsi Utama
Dalam MATLAB kita juga boleh menentukan pembolehubah dan berkongsinya daripada bersarang ke fungsi utama.
fungsi ibu bapanestedfunc
fungsi nestedfunc
x = 10 ;
tamat
x = x+ 1 ;
disp ( x ) ;
tamat
Kod MATLAB ini mentakrifkan fungsi yang dipanggil induk yang mengandungi fungsi bersarang dipanggil nestedfunc . Kod memberikan nilai 10 kepada pembolehubah x dalam nestedfunc, kemudian menambahnya sebanyak 1 dalam fungsi induk dan memaparkan hasilnya.
Bersarang Berbilang Fungsi Di Bawah Fungsi Induk Yang Sama
Dalam MATLAB kita juga boleh memasukkan pelbagai fungsi dalam satu fungsi induk utama.
% berbilang fungsi di bawah fungsi induk yang samafungsi ibu bapa
nestedfunc1
nestedfunc2
fungsi nestedfunc1
fprintf ( 'linuxhint.com\n' ) ;
tamat
fungsi nestedfunc2
fprintf ( 'Selamat Datang Ke Linuxhint' ) ;
tamat
tamat
Kod MATLAB ini mentakrifkan fungsi yang dipanggil induk yang mengandungi dua fungsi bersarang: nestedfunc1 dan nestedfunc2. Apabila fungsi induk dipanggil, ia melaksanakan kedua-dua fungsi bersarang. nestedfunc1 mencetak mesej Linuxhint.com dan nestedfunc2 mencetak mesej 'Selamat Datang Ke Linuxhint'.
Berkongsi Pembolehubah Antara Fungsi Bersarang
Dalam MATLAB kita juga boleh menentukan dan berkongsi pembolehubah fungsi induk tunggal dengan dua fungsi bersarang.
% dua fungsi bersarang di bawah fungsi induk yang samafungsi ibu bapa
x = 5
bersarang1
bersarang2
fungsi bersarang1
x = x* 2 ;
tamat
fungsi bersarang2
x = x+ 5 ;
tamat
disp ( x )
tamat
Kod MATLAB ini mentakrifkan fungsi yang dipanggil induk yang mengisytiharkan pembolehubah x dengan nilai 5. Ia kemudiannya mengandungi dua fungsi bersarang: nested1 dan nested2.
Dalam nested1, nilai x didarab dengan 2, tetapi oleh kerana x tidak diluluskan secara eksplisit sebagai hujah, ia mencipta pembolehubah tempatan baharu x dalam nested1 dan bukannya mengubah suai pembolehubah x luar.
Dalam nested2, nilai x ditambah sebanyak 5, juga mewujudkan pembolehubah tempatan baharu x dalam nested2.
Selepas melaksanakan fungsi bersarang, kod tersebut memaparkan nilai pembolehubah x luar, yang kekal tidak berubah pada 5 kerana pengubahsuaian yang dibuat dalam fungsi bersarang hanya mempengaruhi pembolehubah tempatan dalam fungsi tersebut dan bukan pembolehubah luar.
Kesimpulan
Fungsi bersarang dalam MATLAB boleh menyusun kod, meningkatkan kebolehgunaan semula dan meningkatkan prestasi. Ia membenarkan fungsi mengakses dan mengubah suai pembolehubah yang ditakrifkan dalam fungsi induknya, membolehkan pengkapsulan kod yang lebih baik. Fungsi bersarang mengurangkan keperluan untuk pembolehubah global atau menghantar berbilang argumen antara fungsi. Artikel ini merangkumi pelbagai contoh fungsi bersarang dalam MATLAB.