Úvod do funkcí MATLABu
Funkce MATLAB jsou psány s různými řádky kódu, které se týkají jedné proměnné s jinou proměnnou a každý výstup je přesně spojen s jedním konkrétním vstupem, který tvoří důležitou součást libovolného programovacího jazyka. V prostředí MATLAB jsou uloženy v určitém souboru, jako jsou soubory skriptu atd. Mohou přijmout více než jeden vstupní argument a mohou také vrátit více než jeden výstupní argument. Pracují na definovaných proměnných ve svém předdefinovaném pracovním prostoru, známém jako místní pracovní prostor.
Typy funkcí v MATLABu
V Matlabu lze funkce vytvářet nebo definovat pomocí níže uvedené syntaxe:
function (o1, o2, …, oN) = myfun(i1, i2, i3, …, iN)
Tady je moje zábava jméno funkce, které přijímá vstupní argumenty i1, i2..iN a vrací výstup o1, o2… on. Výše uvedený příkaz by měl být první řádek při deklarování funkce. Pro platná jména funkcí a uložení funkce je třeba dodržovat některá pravidla:
- Název funkce, který začíná abecedou a může obsahovat číslo, znaky nebo podtržítka, se považuje za platný.
- Funkci můžeme uložit do funkčního souboru, který obsahuje definice funkcí a název souboru se musí shodovat s prvním názvem funkce v souboru.
- Můžeme také uložit funkci, která obsahuje definice funkcí a příkazy. Funkce by měly být k dispozici na konci souboru a název souboru skriptu nemůže mít stejný název jako funkce v souboru.
Koncové klíčové slovo by mělo být použito k označení konce funkce. Je vyžadováno, pokud jakákoli funkce v souboru obsahuje vnořenou funkci nebo použitá funkce je místní funkcí v souboru skriptu a funkce. Funkce fungují ve skriptech v R2016b nebo novějších. V MATLABu je několik typů funkcí. Jsou to následující:
1. Anonymní funkce
Je to funkce, která není uložena v programovém souboru, ale je spojena s proměnnou, jejíž datový typ je function_handle. Je definován v jediném příkazu a má libovolný počet vstupních nebo výstupních argumentů. Syntaxi lze napsat jako:
(argumentlist) výraz
Příklad:
(x, y) x*y;
res1=mul(2, 3)
res2=mul(4, 3)
res3=mul(4, 5)
Když spustíme výstup, dostaneme následující výsledek:
res1 = 6
res2 = 12
res3 = 20
Můžeme psát anonymní funkce bez vstupů nebo více vstupů a výstupů. Pokud funkce nemá žádný vstup, můžeme pomocí prázdné závorky zavolat anonymní funkci. Některé příklady jsou
1. curr= @() datestr(now);
d = curr()
Output: d= 22-Oct-2019 11:02:47curr= @() datestr(now);
d = curr()
Output: d= 22-Oct-2019 11:02:47
2. (x, y)(x+y);
x=4
y=7
z=myfun(x, y)
Output: z=11 (x, y)(x+y);
x=4
y=7
z=myfun(x, y)
Output: z=11
2. Místní funkce
Každý funkční soubor obsahuje primární funkci, která se objeví v prvním řádku kódu. Jsou viditelné pro funkce v jiných souborech a lze je vyvolat v příkazovém řádku. Ostatní funkce obsažené v souboru se nazývají místní funkce. Nelze je vyvolat z příkazového řádku a jsou vidět nadřazené nebo hlavní funkce a funkce zapsané ve stejném souboru. Oni jsou také známí jako sub-funkce. Jsou ekvivalentní podprogramům používaným v jiném programovacím jazyce. Lze je také zapisovat do souborů skriptu, pokud se objeví za posledním řádkem kódu skriptu.
function (avg, med) = mystats(y)
a= length(y);
avg = mymean(y, a);
med = mymedian(y, a);
end
function a = mymean(v, n) ---- Example of a local function
a = sum(v)/n;
end
3. Vnořené funkce
Funkce definované v jiné funkci nebo nadřazené funkci se nazývají vnořené funkce. Mohou použít nebo upravit proměnné definované v nadřazené funkci. Jsou definovány v rámci funkce a mají přístup do pracovního prostoru, ve kterém jsou definovány. Každá vnořená funkce by měla splňovat určité požadavky:
- Všechny funkce nevyžadují koncový příkaz. Chcete-li však vnořit jakýkoli koncový příkaz funkce, mělo by být psáno pro každou funkci.
- Nemůžeme definovat vnořené funkce uvnitř žádných řídicích příkazů, jako jsou if-else, switch case atd.
- Vnořené funkce lze volat přímo jménem nebo pomocí libovolného popisovače funkce.
function current
nestfun1
nestfun2
function nestfun1
x = 7;
end
function nestfun2
x = 4;
end
4. Soukromé funkce
Jsou to funkce, které jsou viditelné pouze pro omezenou skupinu funkcí. Bydlí v dílčích funkcích a jsou označeny pomocí klíčového slova „soukromý“. Jsou viditelné pouze pro funkce, které jsou přítomny v nadřazené složce nebo pro funkce ve složce bezprostředně nad soukromým podsložkou. Jsou užitečné, když chceme omezit rozsah funkce. Nemůžeme volat soukromé funkce z příkazového řádku nebo z funkcí mimo nadřazenou složku.
Kód :
function priv
disp(“Hello “)
Změňte složku, která obsahuje soukromou složku, a změňte název souboru na současnou
funkce přítomna
priv
Změňte složku do libovolného umístění a vyvolejte aktuální funkci
současnost, dárek
Výstup: „Ahoj“
Závěr - funkce MATLABu
Funkce MATLAB lze použít pro několik úkolů a scénářů. Jsou nedílnou součástí každého programovacího jazyka. K nim lze přistupovat globálně pomocí globálních proměnných nebo pomocí soukromých funkcí, pokud chceme, aby některé informace nebo obsah byly soukromé. Používají se v každé organizaci pro obchodní potřeby, aby splnily požadavky.
Doporučené články
Toto je průvodce funkcemi MATLAB. Zde diskutujeme Úvod do funkcí MATLAB a typy funkcí. Další informace naleznete také v dalších navrhovaných článcích -
- Besselovy funkce v MATLABu
- Anonymní funkce v Matlabu
- Matematické funkce v C #
- Přenos funkcí v Matlabu
- Kompilátor Matlab | Aplikace Matlab Compiler
- Příklady Matlabu A Operátora
- Kompletní průvodce přepínáním skříně v PowerShell