MATLABi funktsioonid - 4 MATLAB-i funktsioonide tüübid ja näited

Lang L: none (table-of-contents):

Anonim

Sissejuhatus MATLAB-i funktsioonidesse

MATLAB-i funktsioonid kirjutatakse erinevate koodiridadega, mis seovad ühe muutuja teisega ja iga väljund on täpselt seotud ühe konkreetse sisendiga, mis moodustab olulise osa programmeerimiskeelest. MATLAB-i keskkonnas salvestatakse neid teatud faili, näiteks skriptifailidena jne. Nad võivad aktsepteerida rohkem kui ühte sisestusargumenti ja võivad tagastada ka mitu väljundargumenti. Nad töötavad määratletud muutujatega nende eelmääratud tööruumis, mida tuntakse kohaliku tööruumina.

Funktsioonide tüübid MATLAB-is

Matlabis saab funktsioone luua või määratleda alltoodud süntaksi abil:

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

Minu lõbus on funktsiooni nimi, mis võtab vastu sisestusargumendid i1, i2..iN ja tagastab väljundi o1, o2 … sisse. Ülaltoodud väide peaks funktsiooni kuulutades olema esimesel real. Kehtivate funktsioonide nimede ja funktsiooni salvestamise puhul tuleb järgida mõnda reeglit:

  • Funktsiooni nime, mis algab tähestikuga ja võib sisaldada numbreid, tähemärki või alakriipse, loetakse kehtivaks.
  • Funktsiooni saab salvestada funktsioonifaili, mis sisaldab funktsioonide definitsioone ja faili nimi peab vastama faili esimesele funktsiooni nimele.
  • Samuti võime salvestada funktsiooni, mis sisaldab funktsiooni definitsioone ja käske. Funktsioonid peaksid olema faili lõpus ja skriptifaili nimi ei tohi olla sama nimega, mis failis.

Funktsiooni lõpu tähistamiseks tuleks kasutada lõppsõna. See on vajalik, kui mõni faili funktsioon sisaldab pesastatud funktsiooni või kasutatav funktsioon on skripti ja funktsioonifaili kohalik funktsioon. Funktsioonid töötavad skriptides R2016b või uuemas versioonis. MATLAB-is kasutatakse mitut tüüpi funktsioone. Need on järgmised:

1. Anonüümne funktsioon

See on funktsioon, mida ei salvestata programmifaili, kuid see on seotud muutujaga, mille andmetüüp on function_handle. See on määratletud ühes avalduses ja sellel on suvaline arv sisend- või väljundargumente. Süntaksit saab kirjutada järgmiselt:

(argumentide loend) väljend

Näide:

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

Väljundi käivitamisel saame järgmise tulemuse:

res1 = 6

res2 = 12

res3 = 20

Saame kirjutada anonüümseid funktsioone, millel pole sisendeid ega mitut sisendit ega väljundit. Kui funktsioonil pole sisendit, võime anonüümse funktsiooni kutsumiseks kasutada tühja sulgu. Mõned näited on järgmised

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. Kohalikud funktsioonid

Mis tahes funktsioonifail sisaldab peamist funktsiooni, mis kuvatakse koodi esimesel real. Need on muude failide funktsioonidele nähtavad ja neid saab käsureal kutsuda. Muid failis sisalduvaid funktsioone nimetatakse kohalikeks funktsioonideks. Neid ei saa käsurealt kutsuda ja neid näevad vanem- või põhifunktsioon ning samasse faili kirjutatud funktsioonid. Neid tuntakse ka alamfunktsioonidena. Need on teises programmeerimiskeeles kasutatavate alamprogrammidega samaväärsed. Neid saab kirjutada ka skriptifailidena, kui need ilmuvad pärast skriptikoodi viimast rida.

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. Pesastatud funktsioonid

Funktsioone, mis on määratletud mõne muu funktsiooni või vanemfunktsiooni sees, nimetatakse pesastatud funktsioonideks. Nad saavad kasutada või muuta vanemfunktsioonis määratletud muutujaid. Need on määratletud funktsiooni piires ja pääsevad juurde tööruumile, milles nad on määratletud. Igas pesastatud funktsioonis tuleks järgida teatud nõudeid:

  • Kõik funktsioonid ei nõua lõpulauset. Mis tahes funktsiooni pesastamiseks tuleks iga funktsiooni jaoks kirjutada lõpplause.
  • Me ei saa määratleda pesastatud funktsioone ühegi juhtimisavalduse sees, näiteks kui-veel, lüliti ümber jne.
  • Pesastatud funktsioone saab helistada otse nime abil või mis tahes funktsiooni käepidemega.

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

4. Erafunktsioonid

Need on funktsioonid, mis on nähtavad ainult piiratud rühmale funktsioone. Need asuvad alamfunktsioonides ja tähistatakse märksõnaga “privaatne”. Need on nähtavad ainult nende funktsioonide puhul, mis asuvad vanemkataloogis, või funktsioonide jaoks, mis asuvad kaustas otse privaatse alamkausta kohal. Need on kasulikud, kui tahame funktsiooni ulatust piirata. Me ei saa privaatfunktsioone kutsuda käsurealt ega vanemkataloogi välistest funktsioonidest.

Kood :

function priv
disp(“Hello “)

Muutke privaatset kausta sisaldav kaust ja muutke failinimi praeguseks
funktsioon olemas
priv

Muutke kaust suvalisse asukohta ja helistage praegusele funktsioonile
kohal

Väljund: “Tere”

Järeldus - MATLAB-i funktsioonid

MATLAB-i funktsioone saab kasutada mitme ülesande ja stsenaariumi jaoks. Need moodustavad mis tahes programmeerimiskeele lahutamatu osa. Neile pääseb juurde nii globaalselt, kasutades globaalseid muutujaid kui ka privaatseid funktsioone, kui soovime, et mõni teave või sisu oleks privaatne. Neid kasutatakse igas organisatsioonis ettevõtte vajaduste täitmiseks.

Soovitatavad artiklid

See on MATLAB-i funktsioonide juhend. Siin käsitleme MATLAB-i funktsioonide tutvustamist ja funktsioonide tüüpe. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Besseli funktsioonid MATLAB-is
  2. Anonüümsed funktsioonid Matlabis
  3. C-matemaatika funktsioonid
  4. Funktsioonide ülekandmine Matlabis
  5. Matlabi koostaja | Matlab Compileri rakendused
  6. Näited Matlabist ja operaatorist
  7. Täielik juhend juhtumi vahetamiseks PowerShellis