Úvod do anonymní funkce v Matlabu
V Matlabu existují různé vestavěné funkce (v Matlabu jsou k dispozici různé knihovny). Díky těmto vestavěným funkcím je Matlab snadnější a výkonnější. Ale pokud chceme vytvořit vlastní funkci, pak je v Matlabu jedna možnost, která je funkce handle. Pomocí obsluhy funkcí můžeme vytvořit libovolnou matematickou funkci, tyto funkce se nazývají anonymní funkce.
Uvažujme jeden příklad y = - 2, v tomto jsou dvě proměnné xay. x je vstup a y je výstup. Hodnota y závisí na hodnotě x.
Anonymní reprezentace funkce bude tedy y = @ (x) 3 - 2
Ve výše uvedené rovnici y je obsluha funkcí, x je vstupní proměnná a '@' je symbol používaný pro anonymní funkci.
Po napsání této rovnice můžeme dát libovolnou hodnotu x. například y (0), y (1), y (2), y (3) atd
Pokud je hodnota x 0, pak y = x 3 - 2
Y = 0 - 2
Y = -2
Podobně, pokud je hodnota x 1, pak y = 1 3 - 2
Y = 1 - 2
Y = -1
Kroky k zápisu anonymní funkce v Matlabu
Krok 1: Nejprve definujte funkci popisovače Matlab pomocí symbolu '@' a vstupní proměnné y = @ (x)
Krok 2: Napište celou rovnici vedle proměnné obsluhy funkcí.
Krok 3: Přijměte vstupní hodnotu uvnitř výstupní proměnné y (0).
Syntax:
Definice funkce;
Tělo funkce;
Uvažujme jednu rovnici p = q 2 - 3
Matlabův kód | Syntax |
P = @ (q) | Proměnná handle handle = @ vstupní proměnná |
q 2 - 3 | Matematická rovnice |
q (1) | Proměnná popisovač funkce (hodnota vstupní proměnné) |
Příklady anonymních funkcí v Matlabu
Níže jsou uvedeny různé příklady anonymní funkce v matlabu takto:
Příklad č. 1
Y = x 3 + 2x
V tomto příkladu uvidíme jednoduchou metodu anonymní funkce.
Zde je Y výstup, x je variabilní vstup,
Pokud dáme x = 0
Y = 0 + 2 (0)
Y = 0
Pokud dáme x = 1
Y = x 3 + 2x
Y = 1 + 2
Y = 3
Pokud dáme x = 2
Y = x 3 + 2x
Y = 8 + 4
Y = 12
Pokud dáme x = 3
Y = x 3 + 2x
Y = 27 + 6
Y = 33
Matlab kód:
clc;
y = @ (x) x. 3 + (2 x x);
y (0)
y (1)
y (2)
y (3)
Ve výše uvedeném kódu y bere hodnoty x při kompilaci. Obrazovka 1 ukazuje implementaci příkladu 1 v Matlabu
Příklad č. 2
y = x 3 - 2 * x + 3
pokud x = 1
y = 1 - 2 + 3
y = 2
pokud x = 2
y = 8 - 4 + 3
y = 7
pokud x = 3
y = x 3 - 2 * x + 3
y = 27 - 6 + 3
y = 24
Matlab kód:
X = (1: 10)
y = @ (x) x. ^ 3 - 2 * x + 3
p = y (x)
děj (y, x)
Ve výše uvedeném kódu je rozsah x od 0 do 10, takže není třeba přiřadit hodnoty 'x' v době kompilace a pokud jsou známy diskrétní hodnoty x a y, můžeme vykreslit odpověď proměnné xay. Obrazovka 2 ukazuje implementaci příkladu 2 a odezvu xay.
Příklad č. 3
Y = x 2 - log (x)
V tomto příkladu je obtížné najít logaritmus pro každou hodnotu x. Namísto matematických výpočtů, pokud použijeme přímé příkazy Matlab, dostaneme výstup se všemi hodnotami y, jakož i odezvu x vs y (pomocí příkazu plot) .
Matlab kód:
clc;
y = @ (x) x. 2 - log (x)
y = @ (x) x. 2-log (x)
x (1: 10)
p = y (x)
Ve výše uvedeném kódu je rozsah x od 0 do 10, takže není třeba přiřadit hodnoty 'x' v době kompilace a pokud jsou známy diskrétní hodnoty x a y, pak můžeme vyložit závislost proměnné xay . Obrazovka 2 ukazuje implementaci příkladu 2 a odezvu xay.
Výhody anonymních funkcí v Matlabu
- V anonymní funkci můžeme vytvořit libovolnou funkci, která není předdefinována.
- Může být uložen v proměnné.
- Anonymní funkce lze vrátit ve funkci.
- Může být předán uvnitř funkce.
- Tyto funkce nelze uložit do programových souborů, proto můžeme ušetřit paměť.
- Můžeme uložit anonymní popisovač funkce, abychom jej mohli kdykoli znovu použít.
- Je snadné ji reprezentovat a implementovat.
Závěr
V Matlabu můžeme pomocí anonymních funkcí snadno implementovat složité matematické kvadratické rovnice do jednoduché podoby. Těmto funkcím neexistuje žádný definovaný název, který můžeme při definici funkce pojmenovat. Anonymní funkce šetří paměť a podporuje vlastnost opětovného použití, proto není třeba psát velký a složitý výraz znovu a znovu.
Doporučené články
Toto je průvodce Anonymními funkcemi v Matlabu. Zde diskutujeme kroky, výhody Anonymních funkcí v Matlabu spolu s některými příklady. Další informace naleznete také v následujících článcích -
- Typy dat v MATLABu
- Jak nainstalovat MATLAB
- Příkazy Matlab
- Použití Matlab
- Přehled inline funkcí v Matlabu
- Funkce MATLAB
- Kompilátor Matlab | Aplikace Matlab Compiler