Úvod do funkcií MATLABu
Funkcie MATLABu sa píšu s rôznymi riadkami kódu, ktoré súvisia s jednou premennou s inou premennou a každý výstup sa týka presne jedného konkrétneho vstupu, ktorý tvorí dôležitú súčasť ľubovoľného programovacieho jazyka. V prostredí MATLABu sú uložené v určitom súbore, ako sú súbory skriptov atď. Môžu akceptovať viac ako jeden vstupný argument a môžu tiež vrátiť viac ako jeden výstupný argument. Pracujú na definovaných premenných vo svojom preddefinovanom pracovnom priestore, známym ako miestny pracovný priestor.
Typy funkcií v MATLABe
V Matlabe môžu byť funkcie vytvorené alebo definované pomocou nasledujúcej syntaxe:
function (o1, o2, …, oN) = myfun(i1, i2, i3, …, iN)
Moja zábava je tu názov funkcie, ktorý akceptuje vstupné argumenty i1, i2..iN a vracia výstup o1, o2… on. Vyššie uvedené vyhlásenie by malo byť v prvom riadku pri deklarovaní funkcie. Existujú niektoré pravidlá, ktoré je potrebné dodržiavať pri platných názvoch funkcií a ukladaní funkcie:
- Názov funkcie, ktorý začína na abecedách a môže obsahovať čísla, znaky alebo podčiarknutia, sa považuje za platný.
- Funkciu môžeme uložiť do funkčného súboru, ktorý obsahuje definície funkcií a názov súboru sa musí zhodovať s prvým názvom funkcie v súbore.
- Môžeme tiež uložiť funkciu, ktorá obsahuje definície funkcií a príkazy. Funkcie by mali byť na konci súboru a názov súboru skriptu nemôže mať rovnaké meno ako funkcia v súbore.
Koncové kľúčové slovo by sa malo použiť na označenie konca funkcie. Vyžaduje sa, keď niektorá funkcia v súbore obsahuje vnorenú funkciu alebo použitá funkcia je lokálna funkcia v skripte a funkčnom súbore. Funkcie fungujú v skriptoch v R2016b alebo novšom. Existuje niekoľko typov funkcií používaných v MATLABe. Sú to tieto:
1. Anonymná funkcia
Je to funkcia, ktorá nie je uložená v programovom súbore, ale je asociovaná s premennou, ktorej typ údajov je function_handle. Je definovaný v jedinom príkaze a má ľubovoľný počet vstupných alebo výstupných argumentov. Syntax môže byť napísaná ako:
(argumentlist) výraz
Príklad:
(x, y) x*y;
res1=mul(2, 3)
res2=mul(4, 3)
res3=mul(4, 5)
Keď spustíme výstup, dostaneme nasledujúci výsledok:
RES1 = 6
res2 = 12
res3 = 20
Môžeme písať anonymné funkcie bez vstupov alebo viacerých vstupov a výstupov. Ak funkcia nemá žiadny vstup, potom môžeme na vyvolanie anonymnej funkcie použiť prázdnu zátvorku. Niektoré z príkladov sú
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. Miestne funkcie
Každý funkčný súbor obsahuje primárnu funkciu, ktorá sa objaví v prvom riadku kódu. Sú viditeľné pre funkcie v iných súboroch a dajú sa zavolať v príkazovom riadku. Ostatné funkcie, ktoré sú v súbore, sa nazývajú miestne funkcie. Nemôžu byť vyvolané z príkazového riadku a sú zobrazené rodičovi alebo hlavnej funkcii a funkciám zapísaným v tom istom súbore. Sú známe aj ako podfunkcie. Sú rovnocenné podprogramom používaným v inom programovacom jazyku. Môžu sa zapisovať aj do súborov skriptov, pokiaľ sa objavia za posledným riadkom 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. Vnorené funkcie
Funkcie definované v inej funkcii alebo nadradenej funkcii sa nazývajú vnorené funkcie. Môžu používať alebo modifikovať premenné, ktoré sú definované v nadradenej funkcii. Sú definované v rámci funkcie a majú prístup k pracovnému priestoru, v ktorom sú definované. Každá vnorená funkcia by mala spĺňať určité požiadavky:
- Všetky funkcie nevyžadujú záverečný príkaz. Aby však bolo možné vnoriť akékoľvek koncové vyhlásenie o funkcii, malo by byť napísané pre každú funkciu.
- Nemôžeme definovať vnorené funkcie vo vnútri žiadnych ovládacích príkazov ako if-else, switch case atď.
- Vnorené funkcie je možné volať priamo podľa mena alebo pomocou ľubovoľného handle funkcie.
function current
nestfun1
nestfun2
function nestfun1
x = 7;
end
function nestfun2
x = 4;
end
4. Súkromné funkcie
Sú to funkcie, ktoré sú viditeľné iba pre obmedzenú skupinu funkcií. Bývajú v podfunkciách a sú označené pomocou kľúčového slova „súkromné“. Zobrazujú sa iba pre funkcie, ktoré sa nachádzajú v nadradenom priečinku alebo pre funkcie v priečinku, ktoré sa nachádzajú bezprostredne nad súkromným podpriečinkom. Sú užitočné, keď chceme obmedziť rozsah funkcie. Nemôžeme volať súkromné funkcie z príkazového riadku alebo z funkcií mimo nadradeného priečinka.
Kód :
function priv
disp(“Hello “)
Zmeňte priečinok, ktorý obsahuje súkromný priečinok, a zmeňte názov súboru na súčasný
prítomná funkcia
priv
Zmeňte priečinok na ľubovoľné miesto a zavolajte súčasnú funkciu
prítomný
Výstup: „Ahoj“
Záver - funkcie MATLABu
Funkcie MATLAB je možné použiť na niekoľko úloh a scenárov. Sú neoddeliteľnou súčasťou každého programovacieho jazyka. K nim je možné pristupovať globálne pomocou globálnych premenných alebo pomocou súkromných funkcií, ak chceme, aby niektoré informácie alebo obsah boli súkromné. Používajú sa v každej organizácii, aby podnik splnil požiadavky.
Odporúčané články
Toto je sprievodca funkciami MATLAB. Tu diskutujeme o zavedení funkcií MATLABu a druhoch funkcií. Viac informácií nájdete aj v ďalších navrhovaných článkoch -
- Besselove funkcie v MATLABe
- Anonymné funkcie v Matlabe
- Matematické funkcie v C #
- Prenos funkcií v Matlabe
- Kompilátor Matlab Aplikácie Matlab Compiler
- Príklady Matlabu A Operátora
- Kompletný sprievodca prepínaním skriniek v PowerShell