MATLAB funkcije - 4 Vrste funkcija u MATLAB-u i primjeri

Sadržaj:

Anonim

Uvod u funkcije MATLAB-a

Funkcije MATLAB pišu se raznim linijama koda koje povezuju jednu varijablu s drugom varijablom i svaki je izlaz povezan upravo s jednim određenim ulazom koji čini važan dio bilo kojeg programskog jezika. U MATLAB okruženju pohranjuju se u određenu datoteku kao što su datoteke skripti itd. Mogu prihvatiti više od jednog ulaznog argumenta i mogu vratiti više od jednog izlaznog argumenta. Oni djeluju na definiranim varijablama u unaprijed definiranom radnom prostoru, poznatom kao lokalni radni prostor.

Vrste funkcija u MATLAB-u

U Matlabu, funkcije se mogu stvoriti ili definirati pomoću sintakse u nastavku:

function (o1, o2, …, oN) = myfun(i1, i2, i3, …, iN)

Ovdje mi je zabavno ime funkcije koja prihvaća ulazne argumente i1, i2..iN i vraća izlazne o1, o2… on. Gornja izjava trebala bi biti prva linija tijekom deklariranja funkcije. Postoje neka pravila koja se moraju pridržavati valjanih naziva funkcija i spremanja funkcije:

  • Naziv funkcije koji započinje slovima abecede i može sadržavati broj, znakove ili podvlake, smatra se važećim.
  • Funkciju možemo spremiti u funkcijsku datoteku koja sadrži definicije funkcije, a naziv datoteke mora odgovarati prvom nazivu funkcije u datoteci.
  • Također možemo spremiti funkciju koja sadrži definicije i naredbe funkcija. Funkcije trebaju biti prisutne na kraju datoteke, a naziv datoteke skripte ne može imati isto ime kao funkcija u datoteci.

Za označavanje kraja funkcije treba koristiti ključnu riječ kraj. Zahtijeva se kada bilo koja funkcija u datoteci sadrži ugniježđenu funkciju ili je korištena funkcija lokalna funkcija unutar datoteke skripte i funkcije. Funkcije djeluju na skriptama u R2016b ili novijoj verziji. U MATLAB se koristi nekoliko vrsta funkcija. Oni su kako slijedi:

1. Anonimna funkcija

To je funkcija koja se ne pohranjuje u programsku datoteku, ali je povezana s varijablom čiji je tip podataka function_handle. Definirana je u jednoj izjavi i ima bilo koji broj ulaznih ili izlaznih argumenata. Sintaksa se može napisati kao:

(argumentovnik) izraz

Primjer:

(x, y) x*y;
res1=mul(2, 3)
res2=mul(4, 3)
res3=mul(4, 5)

Kad pokrenemo izlaz, dobivamo sljedeći rezultat:

res1 = 6

res2 = 12

res3 = 20

Anonimne funkcije možemo pisati bez ulaza ili s više ulaza i izlaza. Ako funkcija nema ulaza, za pozivanje anonimne funkcije možemo koristiti prazne zagrade. Neki su primjeri

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. Lokalne funkcije

Svaka funkcionalna datoteka sadrži primarnu funkciju koja se pojavljuje u prvom retku koda. Vidljive su funkcijama u drugim datotekama i mogu se pozvati u naredbenom retku. Ostale funkcije koje se nalaze u datoteci nazivaju se lokalnim funkcijama. Ne možete ih pozvati iz naredbenog retka i vide se nadređenom ili glavnom funkcijom i funkcijama zapisanim u istoj datoteci. Poznate su i kao potfunkcije. Oni su ekvivalentni potprogramima koji se koriste u drugom programskom jeziku. Također se mogu pisati u datoteke skripta sve dok se pojavljuju nakon posljednjeg retka koda skripte.

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. Gnijezdene funkcije

Funkcije koje su definirane unutar druge funkcije ili roditeljske funkcije nazivaju se ugniježđene funkcije. Mogu koristiti ili mijenjati varijable koje su definirane u roditeljskoj funkciji. Oni su definirani unutar obima funkcije i mogu pristupiti radnom prostoru u kojem su definirani. Postoje određeni zahtjevi kojih se svaka ugniježđena funkcija treba pridržavati:

  • Sve funkcije ne zahtijevaju krajnju izjavu. Međutim, za gniježđenje bilo koje funkcije funkcije treba napisati za svaku funkciju.
  • Ne možemo definirati ugniježđene funkcije unutar bilo kakvih kontrolnih izjava poput if-else, prekidača itd.
  • Gnijezdene funkcije mogu se izravno nazvati imenom ili upotrebom bilo koje funkcijske ručke.

function current
nestfun1
nestfun2
function nestfun1
x = 7;
end
function nestfun2
x = 4;
end

4. Privatne funkcije

To su funkcije koje su vidljive samo ograničenoj grupi funkcija. Oni se nalaze u potfunkcijama i označeni su ključnom riječi "privatno". Vidljive su samo funkcije koje su prisutne u nadređenoj mapi ili funkcije u mapi neposredno iznad privatne podmape. Korisni su kada želimo ograničiti opseg funkcije. Ne možemo pozvati privatne funkcije iz naredbenog retka ili iz funkcija izvan roditeljske mape.

Šifra :

function priv
disp(“Hello “)

Promijenite mapu koja sadrži privatnu mapu i promijenite sadašnje ime datoteke
prisutna funkcija
privatni

Promijenite mapu na bilo koje mjesto i nazovite prisutnu funkciju
predstaviti

Izlaz: "Pozdrav"

Zaključak - MATLAB funkcije

MATLAB funkcije mogu se koristiti za nekoliko zadataka i scenarija. Oni su sastavni dio bilo kojeg programskog jezika. Njima se može pristupiti i na globalnoj razini pomoću globalnih varijabli ili korištenjem privatnih funkcija ako želimo da neke informacije ili sadržaj budu privatni. Koriste se u svakoj organizaciji za potrebe poslovanja radi ispunjavanja zahtjeva.

Preporučeni članci

Ovo je vodič o funkcijama MATLAB. Ovdje ćemo raspravljati o Uvođenju funkcija MATLAB i vrstama funkcija. Možete i proći naše druge predložene članke da biste saznali više -

  1. Bessel funkcije u MATLAB-u
  2. Anonimne funkcije u Matlabu
  3. Matematičke funkcije u C #
  4. Prijenosne funkcije u Matlabu
  5. Kompletnik Matlab | Primjene Matlab sastavljača
  6. Primjeri Matlaba I operatera
  7. Kompletan vodič za prebacivanje kućišta u PowerShell