Jak používat funkce s více výstupy v MATLABu?
Uživatelsky definovaná funkce MATLABu může mít jeden a více vstupních i výstupních argumentů. Vstupními argumenty mohou být hodnota, matematický výraz nebo jednoduše proměnná. Uživatel by měl znát přesný počet a pozici vstupních a výstupních argumentů, aby je mohl použít ve funkci.
Syntaxe uživatelsky definované funkce MATLABu je uvedena níže:
funkce [ y1,...,yN ] = zábava ( x1,...,xM )
Tady, funkce [y1,…,yN] = zábava(x1,…,xM) deklaruje funkci s názvem fun, která bere x1,…,xM jako vstup a návrat y1,…,yN jako výstup. První řádek spustitelného kódu funkce musí obsahovat tento deklarační příkaz. Platné názvy funkcí musí začínat abecedním znakem a mohou to být písmena, čísla nebo podtržítka.
Zvažte několik příkladů, které demonstrují použití funkce s více výstupy v MATLABu.
Příklad 1
Toto je základní kód MATLABu, který deklaruje funkci pojmenovanou stat pro výpočet střední hodnoty a směrodatné odchylky vektorových prvků. Funkce bere vektor jako vstupní argument a vrací střední hodnotu a směrodatnou odchylku všech hodnot obsažených v tomto vektoru. Tuto funkci uložíme do souboru skriptu s názvem stat .
funkce [ střední, std ] = stat ( bar )
len = délka ( bar ) ;
střední = součet ( bar ) / jen;
std = sqrt ( součet ( ( vect-mean ) .^ 2 / jen ) ) ;
konec
Poznámka : Doporučuje se uložit název souboru skriptu podle názvu funkce.
Jakmile je soubor skriptu uložen, můžete volat výše definovanou funkci v příkazovém okně předáním vektoru jako vstupu.
bar = [ 5 : 0,25 : 10 ] ;
[ ave,stdev ] = stat ( bar )
Vypočtený průměr a standardní odchylka se zobrazí na obrazovce.
Příklad 2
Toto je základní kód MATLABu, který deklaruje funkci pojmenovanou stat pro výpočet střední hodnoty a směrodatné odchylky vektorových prvků. Funkce bere vektor jako vstupní argument a vrací střední hodnotu a směrodatnou odchylku všech hodnot obsažených v tomto vektoru. Tuto funkci uložíme do souboru skriptu s názvem stat.
funkce [ střední, std ] = stat ( bar )len = délka ( bar ) ;
znamenat = ( součet ( bar ) ) / jen;
std = sqrt ( součet ( ( vect-mean ) .^ 2 / jen ) ) ;
konec
Výše definovanou funkci zavoláme v jiném souboru skriptu s názvem func.m předáním vektoru jako vstupního argumentu.
bar = [ 5 : 0,25 : 10 ] ;[ ave,stdev ] = stat ( bar )
Když spustíme func.m soubor, Vypočítané výsledky se zobrazí na obrazovce.
Poznámka : Když voláte funkci v MATLABu, musí být schopna najít odpovídající soubor funkcí. Umístěním souboru funkce i souboru skriptu do stejné složky zajistíte, že MATLAB najde a spustí funkci správně.
Příklad 3
Tento příklad MATLABu vypočítá maximální výšku a vzdálenost střely a vykreslí trajektorii. Za tímto účelem definujeme funkci, která má 2 vstupní argumenty v0 jako počáteční rychlost a theta jako úhel a 2 výstupní argumenty, které jsou hmax představující maximální výšku a dmax představující maximální vzdálenost. Funkci uložíme do souboru skriptu s názvem projektil.m soubor.
funkce [ hmax, dmax ] = trajektorie ( v0, theta )G = 9,81 ;
v0x =v0 * cos ( theta * pí / 180 ) ;
v0y =v0 * bez ( theta * pí / 180 ) ;
thmax =v0y / G;
hmax =v0y^ 2 / ( 2 * G ) ;
ten = 2 * thmax;
dmax =v0x * všechno;
tplot = linspace ( 0 ten 200 ) ;
X =v0x * tplot;
a =v0y * tplot- 0,5 * G * tplot.^ 2 ;
spiknutí ( x, y )
xlabel ( 'DISTANCE (m)' )
ylabel ( 'HEIGHT (m)' )
titul ( 'PROJEKTIL' 'TRAJEKTORIE' )
Po uložení tohoto souboru funkce jej vyvoláme v příkazovém okně předáním hodnot počáteční rychlosti v m/s a theta ve stupních. Vypočítaná výška, vzdálenost a vytvořený graf jsou zobrazeny v daném výstupu.
Závěr
Získání více výstupů z funkce může být užitečné z několika důvodů: jako je zlepšení efektivity kódu, zjednodušení kódu, vylepšení funkčnosti a další. Existuje několik způsobů, jak získat více výstupů z funkce, včetně prostřednictvím příkazového okna, souboru skriptu nebo souborů funkcí. Tento tutoriál demonstroval použití funkcí MATLABu s více výstupy tím, že poskytl několik užitečných příkladů.