Ako používať funkcie s viacerými výstupmi v MATLAB?
Používateľom definovaná funkcia MATLABu môže mať jeden alebo viac vstupných a výstupných argumentov. Vstupnými argumentmi môže byť hodnota, matematický výraz alebo jednoducho premenná. Používateľ by mal poznať presný počet a polohu vstupných a výstupných argumentov, aby ich mohol použiť vo funkcii.
Syntax užívateľom definovanej funkcie MATLABu je uvedená nižšie:
funkciu [ y1,...,yN ] = zábava ( x1,...,xM )
Tu, funkcia [y1,…,yN] = zábava(x1,…,xM) deklaruje funkciu s názvom zábava, ktorá trvá x1,…,xM ako vstup a návrat y1,…,yN ako výstup. Prvý riadok spustiteľného kódu funkcie musí obsahovať tento deklaračný príkaz. Platné názvy funkcií musia začínať abecedným znakom a môžu to byť písmená, čísla alebo podčiarkovníky.
Zvážte niekoľko príkladov, ktoré demonštrujú, ako používať funkciu s viacerými výstupmi v MATLABE.
Príklad 1
Toto je základný kód MATLABu, ktorý deklaruje funkciu s názvom stat na výpočet priemeru a štandardnej odchýlky vektorových prvkov. Funkcia berie vektor ako vstupný argument a vracia priemer a štandardnú odchýlku všetkých hodnôt obsiahnutých v tomto vektore. Túto funkciu uložíme do súboru skriptu s názvom stat .
funkciu [ stredná, std ] = stat ( bar )
len = dĺžka ( bar ) ;
priemer = súčet ( bar ) / len;
std = sqrt ( súčet ( ( vect-mean ) .^ 2 / len ) ) ;
koniec
Poznámka : Odporúča sa uložiť názov súboru skriptu podľa názvu funkcie.
Po uložení súboru skriptu môžete zavolať vyššie definovanú funkciu v príkazovom okne zadaním vektora ako vstupu.
bar = [ 5 : 0,25 : 10 ] ;
[ ave,stdev ] = stat ( bar )
Vypočítaný priemer a štandardná odchýlka sa zobrazia na obrazovke.
Príklad 2
Toto je základný kód MATLABu, ktorý deklaruje funkciu s názvom stat na výpočet priemeru a štandardnej odchýlky vektorových prvkov. Funkcia berie vektor ako vstupný argument a vracia priemer a štandardnú odchýlku všetkých hodnôt obsiahnutých v tomto vektore. Túto funkciu uložíme do súboru skriptu s názvom stat.
funkciu [ stredná, std ] = stat ( bar )len = dĺžka ( bar ) ;
priemerný = ( súčet ( bar ) ) / len;
std = sqrt ( súčet ( ( vect-mean ) .^ 2 / len ) ) ;
koniec
Vyššie definovanú funkciu voláme v inom súbore skriptu s názvom func.m odovzdaním vektora ako vstupného argumentu.
bar = [ 5 : 0,25 : 10 ] ;[ ave,stdev ] = stat ( bar )
Keď spustíme func.m súbor, Vypočítané výsledky sa zobrazia na obrazovke.
Poznámka : Keď voláte funkciu v MATLAB, musí byť schopná nájsť príslušný funkčný súbor. Umiestnením súboru funkcie aj súboru skriptu do rovnakého priečinka zaistíte, že MATLAB dokáže správne nájsť a spustiť funkciu.
Príklad 3
Tento príklad MATLABu vypočíta maximálnu výšku a vzdialenosť projektilu a vykreslí trajektóriu. Na tento účel definujeme funkciu, ktorá má 2 vstupné argumenty v0 ako počiatočnú rýchlosť a theta ako uhol a 2 výstupné argumenty, ktoré sú hmax predstavujúce maximálnu výšku a dmax predstavujúce maximálnu vzdialenosť. Funkciu uložíme do súboru skriptu s názvom projektil.m súbor.
funkciu [ hmax, dmax ] = trajektória ( v0, theta )g = 9,81 ;
v0x =v0 * cos ( theta * pi / 180 ) ;
v0y =v0 * bez ( theta * pi / 180 ) ;
thmax =v0y / g;
hmax =v0y^ 2 / ( 2 * g ) ;
ten = 2 * thmax;
dmax =v0x * všetko;
tplot = riadkový priestor ( 0 ten 200 ) ;
X =v0x * tplot;
a =v0y * tplot- 0,5 * g * tplot.^ 2 ;
zápletka ( x, y )
xlabel ( 'DISTANCE (m)' )
ylabel ( 'HEIGHT (m)' )
titul ( 'PROJEKTIL' „TRAJEKTORY“ )
Po uložení tohto funkčného súboru ho zavoláme v príkazovom okne zadaním hodnôt počiatočnej rýchlosti v m/s a theta v stupňoch. Vypočítaná výška, vzdialenosť a vytvorený graf sú zobrazené v danom výstupe.
Záver
Získanie viacerých výstupov z funkcie môže byť užitočné z niekoľkých dôvodov: ako je zlepšenie efektívnosti kódu, zjednodušenie kódu, vylepšenie funkčnosti a ďalšie. Existuje niekoľko spôsobov, ako získať viacero výstupov z funkcie, vrátane príkazového okna, súboru skriptu alebo súborov funkcií. Tento tutoriál demonštroval použitie funkcií MATLABu s viacerými výstupmi poskytnutím niekoľkých užitočných príkladov.