Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Llojet e variablave Matlab. Programimi i funksioneve M

Ekziston një lloj i veçantë variablash në MATLAB, vlera e të cilave, me përjashtim të ndryshores ans, nuk mund të ndryshohet. Këto variabla quhen variabla të sistemit. Ato janë krijuar për të qenë më shumë punë efektive gjatë llogaritjes, si dhe për shfaqjen e mesazheve nga sistemi në rast të formulimit të gabuar të problemit nga përdoruesi. Tabela liston variablat e sistemit të përdorur në MATLAB.

Shënimi i ndryshores së sistemit MATLAB

Numrat kompleks

Në MATLAB numra komplekse, të cilat, si reale, kanë tipin e dyfishtë. Prandaj, nuk ka nevojë për etiketim të veçantë për të shënuar veprën me numra kompleks. Regjistrimi bëhet si më poshtë: 3 + 7i; -7,1 + 0,831E + 2 * i; 5-3j. Shembulli tregon se një nga shkronjat mund të përdoret për të treguar njësinë imagjinare: i ose j. MATLAB përdor shkronjën i si parazgjedhje .

Më poshtë është një shembull i llogaritjes së rrënjës katrore të -1

>> b = sqrt (a)

Për numrat kompleks, mund të përdorni të njëjtat funksione si për numrat realë, me përjashtim të rasteve të dukshme kur funksioni nuk mund të ketë një argument kompleks. Për shembull, funksioni rem (x, y) llogarit pjesën e mbetur të x të pjesëtuar me y, kështu që përdorimi i një numri kompleks si argument i tij do të rezultojë në një gabim:

>> a = 2 + 3 * i;

>> rem (a, 3)

Gabim në përdorimin e ==> rem

Argumentet duhet të jenë reale.

Së bashku me këtë, ka edhe një numër funksionesh që zbatohen vetëm për variablat komplekse.

Funksionet e ndryshoreve komplekse

Për shembull:

>> abs (2 + 3i)

>> conj (2 + 3i)

2.0000 - 3.0000i

>> isreal (x)

Në shembullin e fundit, funksioni isreal ktheu numrin 0, sepse ndryshorja x nuk është e vlefshme.

5. Dukshmëria e emrave të variablave dhe emrave të funksioneve.

Variabla lokale dhe globale. Funksioni ka hapësirën e vet të ndryshueshme, të izoluar nga hapësira e punës MATLAB. Prandaj, nëse një variabël me një emër, për shembull, varName1, është përcaktuar në dritaren e komandës MATLAB përpara se të thërrisni funksionin M, atëherë nuk mund të supozoni se ndryshorja në trupin e funksionit me të njëjtin emër ka tashmë një vlerë. Ky është një variabël krejtësisht i ndryshëm (edhe pse ka të njëjtin emër varName1) dhe ndodhet në kujtesën e makinës në një zonë të ndryshme memorie.

Variablat që përdoren në trupin e një funksioni M dhe nuk përputhen me emrat e parametrave formalë të këtij funksioni quhen lokale. Në një mënyrë tjetër, ata thonë se ato janë të dukshme vetëm brenda funksionit M. Ato nuk janë të dukshme nga jashtë (të paarritshme). Variablat e përcaktuar në dritaren e komandës MATLAB nuk janë të dukshme brenda një funksioni - ato janë të jashtme të funksionit dhe nuk janë të dukshme në të.

Në mënyrë të ngjashme, variablat që janë lokalë brenda një funksioni nuk janë të dukshme brenda një funksioni tjetër M.

Një nga kanalet për transferimin e informacionit nga dritarja komanduese e sistemit MATLAB në funksionin M dhe nga një funksion në tjetrin është mekanizmi i parametrave të funksionit. Një tjetër mekanizëm i tillë janë variablat globale.

Në mënyrë që hapësira e punës MATLAB dhe disa funksione M të ndajnë një variabël me një emër të caktuar, ai duhet të deklarohet si global kudo duke përdorur fjalë kyçe globale. Për shembull, ndryshorja glVarS që merr pjesë në llogaritjet në hapësirën e punës dhe në funksionin FuncWithGlobVar është e njëjta ndryshore (një pjesë e vetme memorie) kudo - prandaj mund të përdoret në një funksion pa caktimin shtesë të ndonjë vlere për të:

Meqenëse variablat globale kanë një shtrirje "globale", për të mos e anashkaluar atë kudo rastësisht (gabimisht), këshillohet që këtyre variablave t'u jepen emra më kujtues (më të gjatë dhe më kuptimplotë).

Tani le të shohim çështjen e dukshmërisë së emrave të funksioneve. Nëse kemi ruajtur një funksion me një emër të caktuar në një skedar me të njëjtin emër dhe shtrirje m, dhe përveç kësaj, nëse MATLAB e di rrugën drejt këtij skedari në disk, atëherë ky funksion mund të thirret si nga dritarja e komandës ashtu edhe nga funksionet e tjera.

Sidoqoftë, në tekstin e një funksioni M, mund të vendosni përkufizime të disa funksioneve dhe vetëm njëri prej tyre mund të përputhet me emrin me emrin e skedarit. Është ky funksion që do të jetë i dukshëm nga dritarja e komandës dhe funksionet e tjera. Të gjitha funksionet e tjera do të jenë të brendshme - vetëm funksionet nga i njëjti skedar mund t'i thërrasin ato.

Për shembull, nëse skedari ManyFunc.m përmban tekstin e mëposhtëm

funksioni ret1 = ManyFunc (x1, x2)

ret1 = x1. * x2 + AnotherFunc (x1)

funksioni ret2 = AnotherFunc (y)

ret2 = y * y + 2 * y + 3;

i përbërë nga përkufizimet e dy funksioneve të emërtuara ManyFunc dhe AnotherFunc, atëherë vetëm funksioni ManyFunc mund të thirret nga jashtë. Në një mënyrë tjetër, mund të themi se vetëm funksionet me emra që përputhen me emrat e skedarëve M janë të dukshme nga jashtë. Pjesa tjetër e funksioneve duhet të thirren nga ky funksion dhe funksione të tjera të brendshme.

3.3. Ekzekutimi i funksioneve M. Listat e argumenteve. Llojet e argumenteve. Llojet e të dhënave

Funksioni M mund të thirret nga linja e komandës sistemi MATLAB ose nga skedarë të tjerë M, sigurohuni që të specifikoni të gjitha atributet e nevojshme - argumentet hyrëse në kllapa, nxjerr argumente në kllapa katrore.

Caktimi i një emri. Kur shfaqet një emër i ri, MATLAB kontrollon:

  1. Nëse emri i ri është një emër variabli.
  2. Nëse ky emër është emri i një nënfunksioni, domethënë një funksion që ndodhet në të njëjtin skedar M dhe quhet.
  3. Nëse është emri i një funksioni privat që ndodhet në drejtorinë private. Ky direktorium është i aksesueshëm vetëm për skedarët M të vendosur një nivel më lart.
  4. A është emri i një funksioni në shtegun MATLAB. Në këtë rast, sistemi përdor skedarin M që shfaqet i pari në shtegun e aksesit.

Nëse ka emra dublikatë, MATLAB përdor emrin e parë sipas hierarkisë së mësipërme me 4 nivele. Duhet theksuar se në MATLAB 5 lejohet të ripërcaktohet një funksion sipas rregullave të programimit të orientuar drejt objektit.

Thirrja e funksionit... Në duke thirrur funksionin M, MATLAB e përkthen funksionin në pseudokod dhe e ngarkon atë në memorie. Kjo shmang analizimin e përsëritur. Pseudokodi mbetet në memorie derisa të përdoret komanda e qartë ose të përfundojë sesioni.

E lejueshme modifikimet e mëposhtme komandat e qarta:

Kjo komandë bën analizë Skedari M average.m dhe ruan pseudokodin që rezulton në një skedar të quajtur average.p. Kjo shmang analizimin e ri gjatë një sesioni të ri. Për shkak se analizimi është shumë i shpejtë, komanda pcode ka pak efekt në shpejtësinë e ekzekutimit të tij.
Përdorimi i një kodi P këshillohet në dy raste:

  • kur kërkohet analiza një numër i madh M-skedarët e nevojshëm për paraqitje objekte grafike në aplikacionet e zhvillimit ndërfaqe grafike përdorues; në këtë rast, përdorimi i kodit P siguron një përshpejtim të konsiderueshëm;
  • kur përdoruesi dëshiron të fshehë algoritmet e implementuara në skedarin M.

Rregullat e kalimit të argumenteve... Nga këndvështrimi i një programuesi, MATLAB kalon një argument sipas vlerës së tij. Në fakt, vetëm ato argumente kalojnë sipas vlerës që ndryshojnë kur ekzekutohet ky funksion. Nëse funksioni nuk e ndryshon vlerën e argumentit, por e përdor atë vetëm për llogaritje, atëherë argumenti kalohet me referencë, gjë që lejon optimizimin e përdorimit të kujtesës.

Funksiononi zonat e punës.Çdo funksioni M i ndahet një zonë memorie shtesë që nuk mbivendoset me zonën e punës MATLAB. Kjo zonë quhet zona e punës e funksionit. Çdo funksion ka zonën e vet të punës.

Kur punoni me sistemin MATLAB, mund të përdorni vetëm variablat që ndodhen në hapësirën e punës të sistemit ose në zona e punës funksione. Nëse një variabël deklarohet globale, atëherë mund të konsiderohet se i përket fushave të shumta të punës.

Kontrollimi i numrit të argumenteve. Funksionet nargin dhe nargout ju lejojnë të përcaktoni numrin e argumenteve hyrëse dhe dalëse për funksionin e thirrur. Ky informacion mund të përdoret më vonë në deklaratat e kushtëzuara për të ndryshuar rrjedhën e llogaritjeve.

Shembull:

funksioni c = testarg1 (a, b)
nëse (nargin == 1)
c = a. ^ 2;
elseif (nargin == 2)
c = + b;
fund

Duke pasur parasysh një argument të vetëm hyrës, funksioni llogarit katrorin e ndryshores hyrëse; kur jepen dy argumente, kryhet një operacion mbledhjeje.

Konsideroni më shumë shembull kompleks- përzgjedhja e një pjese të vargut të karaktereve përpara ndarësit, e cila mund të përdoret si hapësirë ​​ose ndonjë karakter tjetër. Kur specifikon një argument të hyrjes, funksioni duhet të zgjedhë një pjesë të vargut përpara kufirit, i cili përdoret si parazgjedhje me një hapësirë; hiqen të gjitha hapësirat në fillim të rreshtit. Kur specifikohen dy argumente, argumenti i dytë duhet të jetë një karakter ndarës.

Ky funksion është formatuar si funksion M-strtok, i cili ndodhet në direktorinë strfun.

Funksioni duhet të ketë të paktën një argument hyrës

Nëse ka një argument hyrës, atëherë një hapësirë ​​përdoret si ndarës.

Përcaktoni fillimin e nënvargut të zgjedhur

Përcaktoni fundin e nënvargut të zgjedhur

Ndarja e pjesës së mbetur të linjës

Vini re se renditja e argumenteve në listën e daljes është e rëndësishme. Nëse nuk specifikohet asnjë argument në dalje gjatë thirrjes së funksionit M, argumenti i parë shfaqet si parazgjedhje. Për formimin dhe daljen e argumenteve pasuese, kërkohet të organizohet një thirrje e përshtatshme për funksionin M.

Listat e argumenteve.

Funksionet varargin dhe varargout ju lejojnë të kaloni një numër arbitrar të argumenteve hyrëse dhe dalëse. Sistemi MATLAB paketon të gjitha argumentet hyrëse dhe dalëse të specifikuara në një grup qelizash. Çdo qelizë mund të përmbajë çdo lloj dhe çdo sasi të dhënash.

Shembull
Funksioni testvar pranon çdo numër vektorësh me dy elementë si hyrje dhe shfaq linjat që i lidhin.

funksioni testvar (varargin)

për i = 1: gjatësia (varargin)
x (i) = varargin (i) (1);
y (i) = varargin (i) (2);
fund

xmin = min (0, min (x));
ymin = min (0, min (y));
boshti ()
komplot (x, y)

Kështu, funksioni testvar mund të funksionojë në lista hyrëse me gjatësi të ndryshme.

Shembull:

testvar (,,,,,,)
testvar ([- 1 0],,,)

Formimi i vararginit të vargut hyrës. Meqenëse lista varargin ruan argumentet hyrëse në një grup qelizash, indekset e qelizave duhet të përdoren për të tërhequr të dhënat. Indeksi i qelizave ka dy komponentë:
- indeksi në mbajtëset kaçurrelë;
- indeksi në kllapa.

Shembull:

y (i) = varargin (i) (2);
Këtu indeksi në kllapat kaçurrelë (i) tregon adresën e qelizës i-të të grupit varargin dhe indeksi në kllapa (2) tregon elementin e dytë në qelizë.

Formimi i grupit të daljes varargout... Me një numër arbitrar të argumenteve dalëse, ato duhet të paketohen në një grup qelizash varargout. Për të përcaktuar numrin e argumenteve të daljes në një funksion, përdorni funksionin nargout.

Shembull
Funksioni i mëposhtëm përdor një grup me dy kolona si hyrje, ku kolona e parë është grupi i vlerave të koordinatave x dhe e dyta është grupi i vlerave të koordinatave y. Funksioni ndan grupin në vektorë të veçantë, të cilët mund t'i kalohen funksionit testvar si hyrje.

funksioni = testvar2 (arrayin)
për i = 1: nargout
varargout (i) = arrayin (i, :);
fund

Operatori i caktimit në për lak përdor sintaksën e caktimit të grupit të qelizave. Ana e majtë e operatorit të caktimit përdor kllapa kaçurrelë për të treguar se të dhënat si varg vargu i janë caktuar një qelize.

Operatorët e mëposhtëm mund të përdoren për të thirrur funksionin testvar2:

a = ";
= testvar2 (a)

p1 = 16
p2 = 2 7
p3 = 3 8
p4 = 4 9
p5 = 5 0

Përdorimi i vargjeve të qelizave në listat e argumenteve... Argumentet varargin dhe varargout duhet të jenë të fundit në listat e tyre përkatëse të argumenteve. Kur telefononi argumentet e funksioneve varargout i mëparshëm duhet të vlerësohet brenda funksionit.

Shembull
Titujt e funksionit më poshtë tregojnë përdorimin e duhur Listat varargin dhe varargout:

funksion = shembull 1 (a, b, varargin)
funksion = shembull 2 ​​(x1, y1, x2, y2, flamur)

Llojet e ndryshueshme.

Variabla lokale dhe globale... Përdorimi i variablave në një skedar M nuk është i ndryshëm nga përdorimi i variablave në vijën e komandës, përkatësisht:

  • variablat nuk kanë nevojë të deklarohen; përpara se t'i caktoni një vlerë një ndryshoreje, duhet të siguroheni që të gjitha variablave në anën e djathtë u janë caktuar vlera;
  • çdo operacion caktimi krijon një ndryshore, nëse është e nevojshme, ose ndryshon vlerën e një ndryshoreje ekzistuese;
  • emrat e variablave fillojnë me një shkronjë të ndjekur nga çdo numër shkronjash, numrash dhe nënvizash; MATLAB bën dallimin midis sipërme dhe shkronja të vogla;
  • emri i ndryshores nuk duhet të kalojë 31 karaktere. Më saktësisht, emri mund të jetë më i gjatë, por MATLAB merr parasysh vetëm 31 karakteret e para.

Zakonisht, çdo funksion M, i specifikuar si skedar M, ka të vetin variablat lokale që janë të ndryshme nga variablat e funksioneve të tjera dhe variablave të hapësirës së punës. Megjithatë, nëse shumë funksione dhe hapësira pune deklarojnë një variabël si global, atëherë të gjithë ata përdorin një kopje të vetme të asaj ndryshore. Çdo caktim për këtë variabël zbatohet për të gjitha funksionet ku deklarohet globale.

Shembull.
Le të themi se kërkohet të studiohet ndikimi i koeficientëve a dhe b për modelin grabitqar-pre të përshkruar nga ekuacionet Lotke-Volterra:

Le të krijojmë një skedar M lotka.m:

funksioni yp = lotka (t, y)
% Ekuacionet LOTKA Lotke-Volterra për modelin grabitqar-pre

globale ALPHA BETA
yp =;

Pastaj, përmes vijës së komandës, futni operatorët:

globale ALPHA BETA
ALFA = 0,01;
BETA = 0,02;
= ode23 ("lotka2" ,,);
komplot (t, y)

Komanda globale i deklaron variablat ALPHA dhe BETA si globale dhe për këtë arsye të disponueshme në funksionin lotka.m. Kështu, ato mund të ndryshohen nga linja e komandës dhe do të merren zgjidhje të reja pa redaktuar skedarin M-lotka.m.

Për të punuar me variabla globale, duhet:

  • deklaroni një variabël si globale në çdo funksion M që ka nevojë për këtë variabël. Që një ndryshore e hapësirës së punës të jetë globale, duhet ta deklaroni atë si globale nga linja e komandës;
  • në çdo funksion, përdorni komandën globale përpara shfaqjes së parë të ndryshores; rekomandohet përdorimi i komandës globale në fillim të skedarit M.

Emrat e variablave globale janë zakonisht më të gjatë dhe më përshkrues se emrat e variablave lokalë dhe shpesh përdoren shkronjat e mëdha... Kjo është opsionale, por rekomandohet për të ruajtur lexueshmërinë në kodin MATLAB dhe për të zvogëluar gjasat e anashkalimit aksidental të një ndryshoreje globale.

Variabla të veçanta. Disa funksione M kthejnë variabla të veçanta që luajnë rol i rendesishem kur punoni në mjedisin MATLAB:

ans Rezultati i fundit; nëse nuk specifikohet asnjë ndryshore dalëse, atëherë MATLAB përdor variablin ans.
eps Preciziteti i pikës lundruese; përcaktohet nga gjatësia e mantisës dhe për PC eps = 2.220446049250313e-016
realmax Numri maksimal floating point, kompjuter i përfaqësuar; për PC realmax = 1.797693134862316e + 308.
realmin Numri më i vogël me pikë lundruese i përfaqësuar në një kompjuter; për PC realmin = 2.225073858507202e-308.
pi Një ndryshore e veçantë për numrin p: pi = 3.141592653589793e + 000.
i, j Variabla të veçanta për të treguar njësinë imagjinare
inf Një variabël i veçantë për të treguar simbolin e pafundësisë?
NaN Një variabël i veçantë për të treguar një vlerë të papërcaktuar - rezultati i operacioneve si: 0/0, inf / inf.
kompjuter Një variabël i veçantë për të treguar llojin e kompjuterit të përdorur; për PC - PCWIN.
flops Një variabël i veçantë për të treguar numrin e operacioneve me pikë lundruese.
version Një variabël i veçantë për të ruajtur numrin e versionit të sistemit MATLAB në përdorim.

Funksionet përkatëse M që gjenerojnë këto variabla të veçanta ndodhen në direktorinë elmat dhe mbështeten nga një ndihmë online.

Llojet e të dhënave.

MATLAB përcakton gjashtë llojet bazë të dhëna, secila prej të cilave është një grup shumëdimensional. Gjashtë klasat janë double, char, sparse, uint8, cell dhe struct. Versionet dy-dimensionale të këtyre vargjeve quhen matrica, ku MATLAB e ka marrë emrin nga MATRIX LAB.

Diagrami i përkatësisë së një ose një objekti tjetër të sistemit MATLAB në njërën nga klasat është si më poshtë (Fig. 3.1):

Shumicën e kohës, ndoshta do t'ju duhet të merreni vetëm me dy nga këto lloje të dhënash: një grup dyshe dhe një grup karakteresh (char), ose thjesht një varg. Kjo ndodh sepse të gjitha llogaritjet në MATLAB janë me saktësi të dyfishtë dhe shumica e funksioneve funksionojnë në vargje ose vargje me saktësi të dyfishtë.

Të tjera llojet e të dhënave të destinuara për të tilla aplikacione speciale si puna me matrica të rralla (sparse), përpunimi i imazhit (uint8), puna me vargje të mëdha (qeliza dhe struktura).

Lloji i ndryshores nuk mund të vendoset në numerike ose grup. Këto lloje quhen tipe virtuale dhe shërbejnë vetëm për grupimin e variablave që kanë atribute të përbashkëta.

Lloji uint8 është për ruajtjen me efikasitet të të dhënave në memorie. Vetëm operacionet bazë të indeksimit dhe ndryshimit të madhësisë mund të zbatohen për këtë lloj të dhënash, por asnjë operacion matematikor nuk mund të kryhet. Për ta bërë këtë, vargje të tilla duhet të konvertohen në tip të dyfishtë.

Krijimi i llojeve tuaja dhe shtimi i metodave për llojet e integruara. Tabela e mëposhtme përmban llojin e shtatë të të dhënave, UserObject. Gjuha MATLAB ju lejon të krijoni llojet tuaja të të dhënave dhe të punoni me to në analogji me llojet e integruara.

Për llojet e integruara të të dhënave, mund të anashkaloni një metodë në të njëjtën mënyrë si për një objekt. Për shembull, për të specifikuar një operacion renditjeje për një grup të tipit uint8, duhet të krijoni një metodë (sort.m ose sort.mex) dhe ta vendosni në direktorinë speciale @ uint8.

Tabela e mëposhtme përshkruan llojet e të dhënave në më shumë detaje.

Klasa Shembull Përshkrim
Dyfishtë [ 1 2; 3 4]
5 + 6i
Vargu numerik saktësi e dyfishtë (ky është lloji më i zakonshëm i ndryshores në MATLAB
Char "Hej" Grup karakteresh(çdo karakter është 16 bit i gjatë), i referuar shpesh si një varg.
E rrallë Speye (5) Matrica e rrallë saktësi e dyfishtë (vetëm 2D). Struktura e rrallë përdoret për të ruajtur matricat me një numër të vogël elementësh jo zero, gjë që bën të mundur përdorimin e vetëm një pjese të vogël të memories që kërkohet për të ruajtur matricën e plotë. Matricat e rralla kërkojnë përdorimin e metodave speciale për zgjidhjen e problemeve.
Qelizë (17 "përshëndetje" sy (2)) Gama e qelizave... Elementet e këtij grupi përmbajnë vargje të tjera. Vargjet e qelizave ju lejojnë të kombinoni të dhëna të lidhura, ndoshta madhësive të ndryshme, në një strukturë të vetme.
Struktura A.ditë = 12; A.color = "E kuqe"; A.mat = magji (3); Gama e të dhënave... Ai përfshin emrat e fushave. Vetë fushat mund të përmbajnë vargje. Ashtu si grupet e qelizave, grupet e rekordeve kombinojnë të dhëna të lidhura dhe informacione rreth tyre.
Uint8 Uint8 (magjike (3)) Një grup numrash të plotë 8-bitësh të panënshkruar... Kjo ju lejon të ruani numra të plotë në rangun 0 deri në 255 në 1/8 e memories së kërkuar për një grup me saktësi të dyfishtë. Asnje operacionet matematikore sepse këto vargje janë të papërcaktuara.
Objekti i përdoruesit inline ("mëkat (x)") Lloji i të dhënave i përcaktuar nga përdoruesi.

Përshkrimi i diagramit... Linjat lidhëse në diagram (Fig. 3.1) përcaktojnë përkatësinë e një lloji të caktuar të të dhënave në një ose më shumë klasa.

Shembull
Një matricë e rrallë ka gjithashtu lloje të dyfishta dhe numerike. Operatorët
isa (S ", i rrallë")
isa (S ", dyfish")
isa (S ", numerike")

ktheni vlerat 1 (e vërtetë), domethënë S është një matricë e rrallë numerike me saktësi të dyfishtë.

Vini re se lloji i grupit është në krye të grafikut. Kjo do të thotë që të gjitha të dhënat e MATLAB janë vargje.

Secilit lloj të dhënash mund t'i caktohen funksionet e veta dhe operatorët e përpunimit, ose me fjalë të tjera, metodat. Llojet e fëmijëve të dhënat e vendosura në diagramin poshtë tipit prind mbështeten gjithashtu nga metodat e prindit. Prandaj, një grup i tipit double mbështetet nga metodat e përdorura për tipin numerik.

Tabela liston disa nga këto metoda:

Klasa Metoda
Array Llogaritja e madhësisë, gjatësisë, dimensionit (ndims), bashkimit të vargjeve (), transpozimit, indeksimit shumëdimensional (nënindeks), ripërcaktimit (riformësimit) dhe dimensioneve të ndryshimit të një grupi shumëdimensional.
Gama e qelizave Indeksimi duke përdorur kllapa kaçurrelë (e1,…, en) dhe ndarja e artikujve të listës me presje.
String Char Funksionet e vargut(strcmp, më e ulët), konvertim automatik për të shkruani dyfish për të aplikuar metoda të klasës së dyfishtë.
Dyfishtë Veprimet aritmetike dhe logjike, funksionet e matematikës, funksionet e matricave.
Numerike Kërkimi (gjetja), përpunimi i numrave kompleksë (real, imazh), formimi i vektorëve, përzgjedhja e rreshtave, kolonave, nënblloqeve të vargjeve, zgjerimi skalar.
E rrallë Veprimet në matrica të rralla.
Gama e të dhënave Struct Qasja në përmbajtjen e fushës .fusha (ndarësi i artikujve të listës është një presje).
Uint8 Funksionimi i ruajtjes (më shpesh përdoret me RFP Përpunimi i imazhit Kutia e veglave)
Objekti i përdoruesit Perdorues i percaktuar

Vargje të zbrazëta. Versionet e hershme Sistemet MATLAB lejuan një formë të vetme boshe vargu 0x0, të shënuar si. MATLAB 5 mbështet vargje në të cilat një, por jo të gjitha dimensionet janë zero, domethënë vargje me dimensione 1x0, 10x0x20 ose të përcaktuara si bosh.

Kllapa katrore vazhdoni të shënoni grupin 0x0. Vargjet boshe të madhësive të ndryshme mund të krijohen duke përdorur funksionet zero, njëshe, rand ose sy. Për shembull, për të formuar një grup bosh me madhësi 0x5, mund të përdorni operatorin e caktimit
E = zero (0,5).

Qëllimi kryesor i vargjeve boshe është që çdo operacion që përcaktohet për një grup (matricë) me madhësi m × n do të prodhojë rezultatin e saktë për rastin kur m ose n është e barabartë me zero. Madhësia e grupit (matricës) të rezultatit duhet të përputhet me vlerën e funksionit të llogaritur në zero.

Për shembull, operatori
C =
kërkon që vargjet A dhe B të kenë të njëjtin numër rreshtash. Kështu, nëse vargu A është m x n dhe B është m x p, atëherë C është varg m x (n + p). Rezultati është i saktë nëse ndonjë nga parametrat m, n ose p është zero.

Shumë operacione në MATLAB krijojnë një vektor rreshti ose vektor kolone. Në këtë rast, rezultati mund të jetë ose një vektor rreshti bosh
r = zero (1, 0),
ose një vektor bosh kolone
C = zero (0, 1).

MATLAB 5 mbështet rregullat e sistemit MATLAB 4 për deklaratat if dhe while. Për shembull, operator i kushtëzuar lloji
nëse A, S1, tjetër, S0, fundi
ekzekuton operatorin S0 kur A është një grup bosh.

Disa funksione MATLAB si shuma, prod, min dhe max zvogëlojnë rezultatin: nëse argumenti është një grup, atëherë rezultati është një vektor; nëse argumenti është vektor, atëherë rezultati është skalar.

Për këto funksione, me një grup hyrës bosh, merren rezultatet e mëposhtme:
shuma () = 0;
prod () = 1;
max () =;
min () =.

Ashtu si gjuhët e tjera të programimit, MATLAB ka aftësinë për të punuar me variabla. Variablat quhen objekte që ruajnë një lloj të dhënash. Variablat mund të jenë numerikë, vektorë ose simbolikë, në varësi të llojit të të dhënave që ruajnë. Ndryshorja ka një emër të quajtur identifikues... Të dhënat mund të ndryshojnë vlerat e tyre, identifikuesi mbetet i njëjtë.

Kur zgjidhni një emër për një ndryshore, udhëhiquni nga rregullat e mëposhtme.

■ Emri i ndryshores mund të përfshijë çdo numër karakteresh, por vetëm 63 karakteret e para mbahen mend dhe identifikohen (ky numër si numri maksimal i mundshëm i karaktereve në një emër ndryshoreje kthehet nga funksioni emri lengthmax).

■ Emri i ndryshores duhet të fillojë gjithmonë me një shkronjë dhe mund të përmbajë çdo kombinim shkronjash, numrash dhe nënvizash (_).

■ Nuk lejohet përdorimi i hapësirave në emrat e variablave dhe Simbole të veçanta(të tilla si +, -, *, /).

■ Emri i ndryshores nuk duhet të jetë i njëjtë me emrat e variablave, funksioneve, procedurave dhe variablave të tjerë të sistemit MATLAB.

■ Emrat e variablave bëjnë dallimin midis shkronjave të vogla dhe shkronjat e mëdha(d.m.th. Abc dhe abc janë emra të ndryshëm).

Përpara se të përdorni ndonjë variabël, mund të kontrolloni nëse emri që zgjidhni është i vlefshëm. Për ta bërë këtë, aplikoni funksioni tjetër:

isvarname emri_ndryshore

ku emri_ndryshoreështë emri i ndryshores që dëshironi të siguroheni se është e saktë. Ky funksion kthen 1 nëse emri është i vlefshëm, 0 ndryshe. Për shembull, emri 12_abc_3 8 është i pavlefshëm sepse fillon me një numër, kështu që këtë funksion kthen 0.

>> isvarname 12_abc_3 8

Ka disa emra të rezervuar të variablave në MATLAB. Ndryshoret me emra të tillë quhen sistematike. Ato vendosen pas nisjes së sistemit dhe mund të përdoren në shprehjet matematikore... Variablat e sistemit mund të anashkalohen, d.m.th. atyre mund t'u caktohen vlera të ndryshme nëse është e nevojshme.

Më poshtë janë variablat kryesore të sistemit MATLAB.

■ i, j është njësia imagjinare (rrënja katrore e -1) e përdorur për të specifikuar pjesën imagjinare të numrave kompleksë.

■ pi - numri π (π = 3.141592653589793).

■ eps - pasaktësi e veprimeve me numra me pikë lundruese, d.m.th. intervali ndërmjet 1.0 dhe numrit tjetër më të afërt të pikës lundruese (e barabartë me 2.2204e-16, ose 2 -52).

■ përgjigje - rezultat operacioni i fundit detyrë e panënshkruar.

■ inf - përcaktimi i pafundësisë së makinës.

■ NaN - shkurtim i fjalëve Jo një numër (jo një numër), i marrë për të treguar një rezultat të papërcaktuar (si p.sh. 0/0 ose Inf / Inf).

■ realmin - numri real i modulit minimal (2 .22 51е-308, ose 2 -1022).

■ realmax - numri real i modulit maksimal (1,7977е + 3 08, ose 2 1023).

Në MATLAB, ndryshe nga gjuhët e tjera të programimit, llojet e variablave nuk deklarohen paraprakisht. Mjafton t'i caktoni një vlerë variablit të një lloji të caktuar... Për shembull, për t'i caktuar një ndryshoreje a vlera 5, shkruani shprehjen në vijën e komandës a= 5 (si operatori i caktimit zbatohet shenja e barazimit) dhe shtypni , pas së cilës programi do të shfaqë menjëherë vlerën e kësaj variabli.

>> a=5

Siç mund ta shihni, në këtë rast Programi MATLAB nuk ka nevojë të caktohet ndryshorja ans për të përfaqësuar rezultatin, pasi ndryshorja është vendosur a.

Nëse nuk dëshironi që vlera të shfaqet menjëherë në ekran pas caktimit të një vlere për një ndryshore, përfundoni detyrën me një pikëpresje (;) dhe vetëm atëherë shtypni .

Pikëpresja shtrihet përtej operacioneve të caktimit. Nëse e specifikoni këtë karakter në fund të çdo shprehjeje të futur në vijën e komandës, atëherë rezultati i vlerësimit të tij nuk do të shfaqet menjëherë në ekran. Në vend të kësaj, shfaqet një kërkesë për komandën tjetër ("). Një ndryshore mund t'i caktohet një numër, një shprehje aritmetike, një varg karakteresh (të mbyllura me apostrofa) ose një shprehje karakteri.

Për të përmirësuar efikasitetin e programit, mund t'ju duhet të fshini nga memoria e kompjuterit ose të gjitha variablat e përdorura në sesionin aktual, ose vetëm disa prej tyre. Për të pastruar memorien e variablave në MATLAB, përdoret funksioni clear, i cili ka sintaksën:

· E qartë - shkatërrimi i të gjitha variablave;

· Clear x - shkatërrimi i ndryshores x;

Pastro a b c - shkatërrimi i një familje variablash ( argumentet e komandës clear ndjekin menjëherë emrin e komandës dhe ndahen me hapësira).

Për të fshirë të gjithë përmbajtjen e dritares së komandës MATLAB, përdorni komandën c1c. Pas zgjedhjes së kësaj komande, vetëm informacioni i futur në dritaren e komandës do të fshihet, por vlerat e variablave të hapësirës së punës nuk do të preken. Kjo mund të verifikohet duke shtypur në vijën e komandës emrin e cilësdo prej variablave të specifikuar në sesionin aktual.

Fundi i punës -

Kjo temë i përket seksionit:

Personazhet speciale dhe qëllimi i tyre

Gjuha e komunikimit me matlab .. simbolet dhe operatorët gjuhësorë .. operatorët gjuhësorë janë simbole për operacionet mbi të dhënat që quhen operandë në matlab, aplikohen të gjithë të pranuarit përgjithësisht..

Nëse keni nevojë material shtesë për këtë temë, ose nuk e gjetët atë që po kërkoni, ju rekomandojmë të përdorni kërkimin në bazën e të dhënave tona të veprave:

Çfarë do të bëjmë me materialin e marrë:

Nëse ky material doli të jetë i dobishëm për ju, mund ta ruani në faqen tuaj në rrjetet sociale:

1. ELEMENTET E GJUHËS SË M MATLAB

Elementet në gjuhën M që përdoren për të kontrolluar procesin llogaritës në MATLAB janë konstante, variabla, funksione, komanda dhe struktura kontrolli. Këta elementë mund të jenë në lidhje të ndryshme me ndihmën e lidhësve specialë, përdoren si në vijën komanduese ashtu edhe në programe.

1.1. KONSTANTET NËMATLAB

Një konstante në MATLAB paraqet informacion që nuk ndryshon gjatë gjithë sesionit të komunikimit. Konstantet mund të përcaktohen nga përdoruesi (të përcaktuara nga përdoruesi) dhe të përcaktohen nga sistemi (të përcaktuara nga sistemi). Konstantet e përcaktuara nga përdoruesi specifikohen nga përdoruesi dhe përdoren vetëm një herë - në momentin që ato përmenden në vijën e komandave të ekzekutueshme. Për shembull, 16, -38.654, -1.e-23, 1 + 2i, "Kjo është një konstante simboli".

Konstantat e sistemit përcaktohen në mënyrë të përhershme në sistem dhe kanë emërtime të veçanta me të cilat referohen, për shembull, pi (= 3.1416), eps (= 2.2204e-016), realmin (= 2.2251e-308), realmax (= 1.7977 e + 308 ), i, j (jºi).

1.2. NDRYSHORE NËMATLAB

Një variabël në MATLAB përcaktohet nga identifikuesi, lloji, vendndodhja e tij në memorien e kompjuterit. Për të përcaktuar një variabël në MATLAB, duhet të zgjidhni identifikuesin (emrin) e ndryshores (fillon me shkronja latine, në vijim - shkronja latine, numra, karaktere speciale) dhe përdorni këtë variabël në operatorin e linjës së komandës duke vendosur vlerën e ndryshores (caktim i thjeshtë, referencë për disa funksione, etj.).

  1. Variablat numerikë: numra të zakonshëm (realë) ose kompleksë, vektorë, matrica dhe vargjeve shumëdimensionale... Një numri real i ndahen 8 bajt, një kompleks - 16. Numrat e plotë dhe realë nuk ndryshojnë.

A) numrat realë

A = 2 A = 2,0 B = -143,298 C = 1,23e-2

B) numrat kompleks

Q = 1 + 3i r = -4,6-7,45i S = 2 + 5j

real (Q) - substancë pjesë e numrit kompleks,

imazh (Q) - pjesë imagjinare e një numri kompleks,

abs (Q) - vlera absolute e numrit të caktuar,

conj (Q) - numër kompleks i konjuguar,

këndi (Q) - vlera e fazës (këndit) e numrit kompleks në radianë.

C) vektorë

vektorët e rreshtave

a = 1: 3: 10 b = c = hapësirë ​​linje (13.53.5)

vektorët e kolonës

aa = a 'bb = cc = linspace (13.53.5)' dd = (15:45) '

për vektorët me komponentë kompleksë: nëse y është një vektor kompleks, atëherë y. 'është një vektor kolone me të njëjtat komponentë, dhe y' është një vektor kolone me komponentë - numra kompleksë të konjuguar.

D) matricat: M (i, j) - një element i rreshtit të i-të dhe kolonës j-të; M (k) - elementi kth matrica e shtrirë në një kolonë.

A = --- a 1 2

A (2,2) (= 4) A (3) (= 2) -a A = (1 3 2 4)

A (3,4) = 10 --- а 1 2 0 0

madhësia (A) (=) = madhësia (A) (m = 3, n = 4)

A = A (:) -à shtrihet në një kolonë - matrica bëhet vektor!

riformë (A, 3,4) -а e kthen vektorin përsëri në një matricë 3x4

A (,:) = -à heq rreshtin e parë dhe të fundit nga matrica

A (:,) = à heq të gjitha kolonat përveç asaj të fundit

Disa matrica të veçanta:

syri (m, n) janë njësh në diagonalen kryesore, pjesa tjetër janë zero (syri (m) është matrica e identitetit katror mxm)

ato (m, n) - matricë e njësheve

zero (m, n) - matricë e zerove

rand (m, n) - një matricë mxn e mbushur me numra të rastit nga 0 në 1

C = rrumbullakët (1 + 100 * rand (10,10)) është një matricë 10x10 e mbushur me numra të plotë të rastit nga 1 në 100.

Operacione të thjeshta të matricës:

diag (A) është një vektor i elementeve në diagonalen kryesore të matricës A,

diag (diag (A)) është një matricë diagonale katrore me elemente diagonale, si në A, dhe zero.

triu (A) tril (A) është një matricë me pjesë të sipërme ose të poshtme nga A, të mbushura me zero.

  1. Ndryshoret simbolike

cvb = 'Moska është kryeqyteti i Rusisë'

Vargu i karaktereve është i kufizuar në apostrofa të vetme (në çelësin me shkronjën ruse "e") dhe theksohet me ngjyra.

Çdo karakter merr 2 bajt dhe trajtohet si element i veçantë vektori i vargut të karaktereve. Pra, nëse vendosim veprimin e transpozimit cvb ', marrim një vektor kolone me 31 elementë.

Mund t'i përktheni ndryshoret simbolike në numra dhe anasjelltas.

Ato zakonisht përdoren kur shfaqen rezultatet, grafikët, etiketat, mesazhet.

Kontroll mbi variablat.

Metoda 1 - në dritaren Workspace

Metoda 2 - komanda who - jep një listë të definuar për ky moment variablat e kohës.

Metoda 3 - komanda e kujt - jep më shumë informacion të plotë rreth variablave (Name Size Bytes Class)

Pastrimi i memories.

i qartë - pastrim i plotë i të gjitha variablave (ose ndryshore të qarta)

pastroni var1, var2,… - pastroni variablat individuale var1, var2,….

1.3. FUNKSIONET NËMATLAB

Funksionet në MATLAB janë programe që kryejnë disa operacione të zakonshme në të dhëna. Për të kryer këto operacione dhe për të marrë rezultatet e kërkuara, mjafton të specifikoni emrin e funksionit dhe, mundësisht, të specifikoni disa të dhëna fillestare. Kështu, 3 koncepte lidhen me konceptin e një funksioni këtu (si në çdo gjuhë tjetër): një emër funksioni, një grup të dhënash hyrëse (varargin) dhe një grup të dhënash dalëse (varargout). Përveç kësaj, janë përcaktuar konceptet e numrit të inputeve (nargin) dhe numrit të outputeve (nargout).

Funksionet në MATLAB ndahen në të përcaktuara nga përdoruesi (të përcaktuara nga përdoruesi) dhe të përcaktuara nga sistemi (të përcaktuara në sistem dhe nuk kërkojnë programim). Si të krijoni funksionet e personalizuara, do të diskutohet kur shqyrtohen çështjet e programimit. Pas krijimit dhe korrigjimit, funksioni i personalizuar nuk ndryshon nga ai i sistemit.

Funksionet e sistemit klasifikohen në funksione të integruara dhe funksione bibliotekare. Funksionet e bibliotekës ruhen në sistem në formën e programeve në gjuhën M të shkruara në skedarë me të njëjtin emër si emri i funksionit dhe me shtesën * .m. Tekstet e këtyre programeve janë të disponueshme për t'u parë nga përdoruesit (drejtoria \ toolbox \ matlab \ në vendndodhjen e instalimit të MATLAB). Për shembull, mund të hapni për shikimin e një skedari m me një funksion për llogaritjen e vlerës së logaritmit dhjetor (\ kutia e veglave \ matlab \ elfun \ log10.m). Kur ekzekutohen, deklaratat e këtyre programeve fillimisht përkthehen në instruksione sistemi ekzekutiv kompjuter (interpretuar), dhe më pas - ekzekutohet. Funksionet e integruara ruhen në sistem në një formë të përpiluar, nuk kërkojnë përkthim dhe, për rrjedhojë, funksionojnë më shpejt se ato të bibliotekës. Drejtoria e sistemit për funksione të tilla përmban skedarë të emërtuar në mënyrë të ngjashme me skedarët e bibliotekës, por që përmbajnë vetëm komente për përdorimin e funksioneve. Për shembull, mund të hapni një skedar që lidhet me funksionin e eksponentit (\ toolbox \ matlab \ elfun \ exp.m).

1.4. SHPREHJE NËMATLAB

Një shprehje është një konstrukt gjuhësor që përfshin elemente gjuhësore (konstante, variabla, funksione) të lidhura me njëri-tjetrin duke përdorur karaktere lidhëse që specifikojnë operacionet e kryera gjatë llogaritjes së vlerës së një shprehjeje. Ekzistojnë shprehje numerike (Nexpression), simbolike (Cexpression) dhe logjike (Lexpression) në varësi të rezultatit të marrë pas kryerjes së veprimeve të përfshira në shprehje.

Artikujt kryesorë të lidhur