Funkce MATLAB - 4 Typy funkcí v MATLABu a příklady

Obsah:

Anonim

Ú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:47
curr= @() 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 -

  1. Besselovy funkce v MATLABu
  2. Anonymní funkce v Matlabu
  3. Matematické funkce v C #
  4. Přenos funkcí v Matlabu
  5. Kompilátor Matlab | Aplikace Matlab Compiler
  6. Příklady Matlabu A Operátora
  7. Kompletní průvodce přepínáním skříně v PowerShell