Како користити функције са више излаза у МАТЛАБ-у?
МАТЛАБ кориснички дефинисана функција може узети један или више улазних и излазних аргумената. Улазни аргументи могу бити вредност, математички израз или једноставно променљива. Корисник треба да зна тачан број и позицију улазних и излазних аргумената да би их користио у функцији.
Синтакса МАТЛАБ кориснички дефинисане функције је дата у наставку:
функција [ и1,...,иН ] = забава ( к1,...,кМ )
Ево, функција [и1,…,иН] = забава(к1,…,кМ) декларише функцију под називом фун која узима к1,…,кМ као улаз и повратак и1,…,иН као излаз. Први ред извршног кода функције мора да садржи ову декларацију. Важећи називи функција морају почети да користе абецедни знак и могу бити слова, бројеви или доње црте.
Размотрите неке примере који показују како се користи функција са више излаза у МАТЛАБ-у.
Пример 1
Ово је основни МАТЛАБ код који декларише функцију именовану стат за израчунавање средње вредности и стандардне девијације векторских елемената. Функција узима вектор као улазни аргумент и враћа средњу вредност и стандардну девијацију свих вредности садржаних у том вектору. Ову функцију чувамо у датотеци скрипте под називом стат .
функција [ меан,стд ] = стат ( бар )
лен = дужина ( бар ) ;
значи = сум ( бар ) / само;
стд = скрт ( сум ( ( вецт-меан ) .^ 2 / само ) ) ;
крај
Белешка : Препоручује се да сачувате име датотеке скрипте према имену функције.
Када се датотека скрипте сачува, можете позвати горе дефинисану функцију у командном прозору тако што ћете проследити вектор као улаз.
бар = [ 5 : 0,25 : 10 ] ;
[ аве,стдев ] = стат ( бар )
Израчуната средња вредност и стандардна девијација се приказују на екрану.
Пример 2
Ово је основни МАТЛАБ код који декларише функцију именовану стат за израчунавање средње вредности и стандардне девијације векторских елемената. Функција узима вектор као улазни аргумент и враћа средњу вредност и стандардну девијацију свих вредности садржаних у том вектору. Ову функцију чувамо у датотеци скрипте под називом стат.
функција [ меан,стд ] = стат ( бар )лен = дужина ( бар ) ;
значити = ( сум ( бар ) ) / само;
стд = скрт ( сум ( ( вецт-меан ) .^ 2 / само ) ) ;
крај
Позивамо горе дефинисану функцију у другој скрипт датотеци под називом фунц.м прослеђивањем вектора као улазног аргумента.
бар = [ 5 : 0,25 : 10 ] ;[ аве,стдев ] = стат ( бар )
Када покренемо фунц.м датотеку, Израчунати резултати се приказују на екрану.
Белешка : Када позовете функцију у МАТЛАБ-у, она мора бити у стању да лоцира одговарајућу функцијску датотеку. Постављањем и функцијске датотеке и датотеке скрипте у исти фолдер, осигуравате да МАТЛАБ може пронаћи и извршити функцију исправно.
Пример 3
Овај МАТЛАБ пример ће израчунати максималну висину и удаљеност пројектила и нацртати путању. За ово дефинишемо функцију која има 2 улазна аргумента в0 као почетну брзину и тета као угао и 2 излазна аргумента који су хмак представља максималну висину и дмак представља максимално растојање. Сачувамо функцију у датотеци скрипте под називом пројектил.м фајл.
функција [ хмак, дмак ] = путања ( в0, тета )г = 9.81 ;
в0к =в0 * цос ( тхета * пи / 180 ) ;
в0и =в0 * без ( тхета * пи / 180 ) ;
тхмак =в0и / г;
хмак =в0и^ 2 / ( 2 * г ) ;
тхот = 2 * тхмак;
дмак =в0к * све;
тплот =линспаце ( 0 тхот 200 ) ;
Икс =в0к * тплот;
и =в0и * тплот- 0.5 * г * тплот.^ 2 ;
плот ( к,и )
клабел ( 'ДИСТАНЦЕ (м)' )
илабел ( 'ВИСИНА (м)' )
наслов ( 'ПРОЈЕКТИЛ' 'ТРАЈЕКТОРИЈА' )
Након што сачувамо ову функцијску датотеку, позваћемо је у командном прозору тако што ћемо проследити вредности почетне брзине у м/с и тета у степену. Израчуната висина, растојање и креирани графикон су приказани у датом излазу.
Закључак
Добијање више излаза из функције може бити корисно из неколико разлога: као што је побољшање ефикасности кода, поједностављивање кода, побољшање функционалности и још много тога. Постоји неколико начина да добијете више излаза из функције, укључујући кроз командни прозор, датотеку скрипте или функционалне датотеке. Овај водич је демонстрирао употребу МАТЛАБ-ових функција са више излаза пружајући неке корисне примере.