Berfungsi dengan Berbilang Output dalam MATLAB

Berfungsi Dengan Berbilang Output Dalam Matlab



Fungsi yang ditentukan pengguna dalam MATLAB beroperasi dengan cara yang sama seperti fungsi terbina dalam. Fungsi ini dipanggil dalam pelbagai cara seperti menggunakan tetingkap arahan, fail skrip atau, fail fungsi. Fungsi yang ditentukan pengguna boleh menjana berbilang output. Tujuan artikel ini adalah untuk menggambarkan bagaimana fungsi dengan berbilang output digunakan dalam MATLAB.

Bagaimana Menggunakan Fungsi dengan Pelbagai Output dalam MATLAB?

Fungsi yang ditakrifkan pengguna MATLAB boleh mengambil satu dan lebih banyak input serta argumen output. Argumen input boleh menjadi nilai, ungkapan matematik, atau, hanya pembolehubah. Pengguna harus mengetahui bilangan tepat dan kedudukan argumen input dan output untuk menggunakannya dalam fungsi.

Sintaks fungsi takrif pengguna MATLAB diberikan di bawah:







fungsi [ y1,...,yN ] = seronok ( x1,...,xM )

Di sini, fungsi [y1,…,yN] = menyeronokkan(x1,…,xM) mengisytiharkan fungsi bernama menyeronokkan yang mengambil x1,…,xM sebagai input dan pulangan y1,…,yN sebagai keluaran. Baris pertama kod boleh laku fungsi mesti mengandungi pernyataan pengisytiharan ini. Nama fungsi yang sah mesti mula menggunakan aksara abjad dan boleh berupa huruf, nombor atau garis bawah.



Pertimbangkan beberapa contoh yang menunjukkan cara menggunakan fungsi dengan berbilang output dalam MATLAB.



Contoh 1

Ini ialah kod MATLAB asas yang mengisytiharkan fungsi bernama stat untuk mengira min dan sisihan piawai bagi elemen vektor. Fungsi ini mengambil vektor sebagai hujah input dan mengembalikan min dan sisihan piawai bagi semua nilai yang terkandung dalam vektor tersebut. Kami menyimpan fungsi ini dalam fail skrip bernama stat .





fungsi [ min,std ] = stat ( bar )
len = panjang ( bar ) ;
min = jumlah ( bar ) / hanya;
std = persegi ( jumlah ( ( vect-min ) .^ 2 / sahaja ) ) ;
tamat

Catatan : Adalah disyorkan untuk menyimpan nama fail skrip mengikut nama fungsi.

Setelah fail skrip disimpan, anda boleh memanggil fungsi yang ditakrifkan di atas dalam tetingkap arahan dengan menghantar vektor sebagai input.



bar = [ 5 : 0.25 : 10 ] ;
[ ave,stdev ] = stat ( bar )

Min yang dikira dan sisihan piawai dipaparkan pada skrin.

Contoh 2

Ini ialah kod MATLAB asas yang mengisytiharkan fungsi bernama stat untuk mengira min dan sisihan piawai bagi elemen vektor. Fungsi ini mengambil vektor sebagai hujah input dan mengembalikan min dan sisihan piawai bagi semua nilai yang terkandung dalam vektor tersebut. Kami menyimpan fungsi ini dalam fail skrip bernama stat.

fungsi [ min,std ] = stat ( bar )
len = panjang ( bar ) ;
bermakna = ( jumlah ( bar ) ) / hanya;
std = persegi ( jumlah ( ( vect-min ) .^ 2 / sahaja ) ) ;
tamat

Kami memanggil fungsi yang ditakrifkan di atas dalam fail skrip lain bernama func.m dengan menghantar vektor sebagai hujah input.

bar = [ 5 : 0.25 : 10 ] ;
[ ave,stdev ] = stat ( bar )

Apabila kita menjalankan func.m fail, Keputusan yang dikira dipaparkan pada skrin.

Catatan : Apabila anda memanggil fungsi dalam MATLAB, ia perlu dapat mencari fail fungsi yang sepadan. Dengan meletakkan kedua-dua fail fungsi dan fail skrip dalam folder yang sama, anda memastikan bahawa MATLAB boleh mencari dan melaksanakan fungsi dengan betul.

Contoh 3

Contoh MATLAB ini akan mengira ketinggian maksimum dan jarak peluru dan memplot trajektori. Untuk ini, kami mentakrifkan fungsi yang mempunyai 2 argumen input v0 sebagai halaju awal dan theta sebagai sudut, dan 2 argumen output yang hmax mewakili ketinggian maksimum dan dmax mewakili jarak maksimum. Kami menyimpan fungsi dalam fail skrip bernama peluru.m fail.

fungsi [ hmax, dmax ] =trajektori ( v0, theta )
g = 9.81 ;
v0x =v0 * cos ( theta * pi / 180 ) ;
v0y =v0 * tanpa ( theta * pi / 180 ) ;
thmax =v0y / g;
hmax =v0y^ 2 / ( 2 * g ) ;
thot = 2 * thmax;
dmax =v0x * segala-galanya;
tplot =linspace ( 0 thot 200 ) ;
x =v0x * tplot;
dan =v0y * tplot- 0.5 * g * tplot.^ 2 ;
plot ( x,y )
xlabel ( 'JARAK (m)' )
ylabel ( 'TINGGI (m)' )
tajuk ( 'PROJEKTILE' 'TRAJEKTOR' )

Selepas menyimpan fail fungsi ini, kami akan memanggilnya pada tetingkap arahan dengan menghantar nilai halaju awal dalam m/s dan theta dalam darjah. Ketinggian yang dikira, jarak dan plot yang dicipta ditunjukkan dalam output yang diberikan.

Kesimpulan

Mendapatkan berbilang output daripada fungsi boleh berguna untuk beberapa sebab: seperti meningkatkan kecekapan kod, memudahkan kod, meningkatkan fungsi dan banyak lagi. Terdapat beberapa cara untuk mendapatkan berbilang output daripada fungsi, termasuk melalui tetingkap arahan, fail skrip atau fail fungsi. Tutorial ini menunjukkan penggunaan fungsi MATLAB dengan berbilang output dengan menyediakan beberapa contoh berguna.