Function na may Maramihang Outputs sa MATLAB

Function Na May Maramihang Outputs Sa Matlab



Ang mga function na tinukoy ng gumagamit sa MATLAB ay gumagana sa katulad na paraan tulad ng mga built-in na function. Ang mga function na ito ay tinatawag sa maraming paraan tulad ng paggamit ng command window, script file, o, function file. Ang function na tinukoy ng gumagamit ay maaaring makabuo ng maramihang mga output. Ang layunin ng artikulong ito ay upang ilarawan kung paano ginagamit ang mga function na may maraming mga output sa MATLAB.

Paano Gumamit ng Mga Pag-andar na may Maramihang Mga Output sa MATLAB?

Ang MATLAB user-defined function ay maaaring tumagal ng isa at higit pang input pati na rin ang output arguments. Ang input argument ay maaaring isang value, isang mathematical expression, o, simpleng variable. Dapat malaman ng user ang eksaktong bilang at posisyon ng input at output argument para magamit ang mga ito sa isang function.

Ang syntax ng MATLAB user-defined function ay ibinigay sa ibaba:







function [ y1,...,yN ] = masaya ( x1,...,xM )

Dito, function [y1,…,yN] = masaya(x1,…,xM) nagpapahayag ng isang function na pinangalanang masaya na tumatagal x1,…,xM bilang input at pagbabalik y1,…,yN bilang isang output. Ang unang linya ng executable code ng function ay dapat maglaman ng pahayag na ito ng deklarasyon. Dapat magsimulang gumamit ng alphabetic na character ang mga wastong pangalan ng function at maaaring mga titik, numero, o underscore.



Isaalang-alang ang ilang mga halimbawa na nagpapakita kung paano gumamit ng isang function na may maraming mga output sa MATLAB.



Halimbawa 1

Ito ay isang pangunahing MATLAB code na nagdedeklara ng isang function na pinangalanan stat upang kalkulahin ang mean at standard deviation ng mga elemento ng vector. Ang function ay kumukuha ng vector bilang input argument at ibinabalik ang mean at standard deviation ng lahat ng value na nakapaloob sa vector na iyon. Ise-save namin ang function na ito sa script file na pinangalanan stat .





function [ ibig sabihin, std ] = stat ( bar )
len = haba ( bar ) ;
ibig sabihin = kabuuan ( bar ) / lamang;
std = sqrt ( kabuuan ( ( vect-mean ) .^ 2 / lamang ) ) ;
wakas

Tandaan : Inirerekomenda na i-save ang script file name ayon sa function name.

Kapag nai-save na ang script file, maaari mong tawagan ang function na tinukoy sa itaas sa command window sa pamamagitan ng pagpasa sa vector bilang input.



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

Ang kinakalkula na mean at standard deviation ay ipinapakita sa screen.

Halimbawa 2

Ito ay isang pangunahing MATLAB code na nagdedeklara ng isang function na pinangalanan stat upang kalkulahin ang mean at standard deviation ng mga elemento ng vector. Ang function ay kumukuha ng vector bilang input argument at ibinabalik ang mean at standard deviation ng lahat ng value na nakapaloob sa vector na iyon. Ise-save namin ang function na ito sa script file na pinangalanang stat.

function [ ibig sabihin, std ] = stat ( bar )
len = haba ( bar ) ;
ibig sabihin = ( kabuuan ( bar ) ) / lamang;
std = sqrt ( kabuuan ( ( vect-mean ) .^ 2 / lamang ) ) ;
wakas

Tinatawag namin ang tinukoy sa itaas na function sa isa pang script file na pinangalanan func.m sa pamamagitan ng pagpasa ng vector bilang input argument.

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

Kapag pinapatakbo namin ang func.m file, Ang mga kinakalkula na resulta ay ipinapakita sa screen.

Tandaan : Kapag tumawag ka ng isang function sa MATLAB, kailangan nitong mahanap ang kaukulang file ng function. Sa pamamagitan ng paglalagay ng function file at script file sa parehong folder, tinitiyak mong mahahanap at maisakatuparan ng MATLAB ang function nang tama.

Halimbawa 3

Ang halimbawa ng MATLAB na ito ay kakalkulahin ang pinakamataas na taas at distansya ng isang projectile at i-plot ang tilapon. Para dito, tinukoy namin ang isang function na mayroong 2 input argument v0 bilang paunang bilis at theta bilang isang anggulo, at 2 output argument na hmax kumakatawan sa pinakamataas na taas at dmax kumakatawan sa maximum na distansya. I-save namin ang function sa script file na pinangalanan projectile.m file.

function [ hmax, dmax ] =trajectory ( v0, theta )
g = 9.81 ;
v0x =v0 * cos ( theta * pi / 180 ) ;
v0y =v0 * walang ( theta * pi / 180 ) ;
thmax =v0y / g;
hmax =v0y^ 2 / ( 2 * g ) ;
thot = 2 * thmax;
dmax =v0x * lahat;
tplot =linspace ( 0 thot 200 ) ;
x =v0x * tplot;
at =v0y * tplot- 0.5 * g * tplot.^ 2 ;
balangkas ( x,y )
xlabel ( 'DISTANCE (m)' )
ylabel ( 'TAAS (m)' )
pamagat ( 'PROJECTILE' 'S TRAJECTORY' )

Pagkatapos i-save ang function na file na ito, tatawagin namin ito sa command window sa pamamagitan ng pagpasa ng mga halaga ng paunang bilis sa m/s at theta sa degree. Ang kinakalkula na taas, distansya, at ginawang plot ay ipinapakita sa ibinigay na output.

Konklusyon

Maaaring maging kapaki-pakinabang ang pagkuha ng maraming output mula sa isang function para sa ilang kadahilanan: tulad ng pagpapabuti ng kahusayan ng code, pagpapasimple ng code, pagpapahusay ng functionality, at higit pa. Mayroong ilang mga paraan upang makakuha ng maraming mga output mula sa isang function, kabilang ang sa pamamagitan ng command window, script file, o mga function file. Ipinakita ng tutorial na ito ang paggamit ng mga function ng MATLAB na may maraming mga output sa pamamagitan ng pagbibigay ng ilang mga kapaki-pakinabang na halimbawa.