Cara Menggunakan Fungsi Bersarang dalam MATLAB

Cara Menggunakan Fungsi Bersarang Dalam Matlab



Fungsi bersarang dalam MATLAB boleh mentakrifkan fungsi dalam fungsi lain. Ini boleh berguna untuk mengatur kod, menjadikan kod lebih boleh digunakan semula dan meningkatkan prestasi.

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.



  Tangkapan skrin komputer Perihalan dijana secara automatik dengan keyakinan sederhana

Berkongsi Pembolehubah daripada Fungsi Bersarang kepada Fungsi Utama

Dalam MATLAB kita juga boleh menentukan pembolehubah dan berkongsinya daripada bersarang ke fungsi utama.

fungsi ibu bapa

nestedfunc

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 sama

fungsi 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'.

  Gambar yang mengandungi teks, fon, tangkapan skrin Penerangan dijana secara automatik

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 sama

fungsi 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.

  Gambar yang mengandungi teks, tangkapan skrin, perisian, baris Penerangan dijana secara automatik

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.