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

Elementet e MATLAB-it në gjuhën M. Programet MATLAB

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 shumë funksione M të ndajnë një variabël me një emër të caktuar, ai duhet të deklarohet si global kudo duke përdorur fjalën 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 ripërcaktuar 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.

Ode23 ("lotka2" ,,); komplot (t, y) Komanda globale i deklaron variablat ALPHA dhe BETA 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: ta deklaroni variablin si global 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 globalë janë zakonisht më të gjatë dhe më kuptimplotë se emrat e variablave lokalë dhe shpesh shkruhen me shkronjë të madhe. Kjo është opsionale, por rekomandohet për të ruajtur lexueshmërinë në kodin MATLAB dhe për të reduktuar gjasat e ripërcaktimit aksidental të një ndryshoreje globale. Variabla të veçanta. Disa funksione M kthejnë variabla të veçanta që luajnë një rol të rëndësishëm në mjedisin MATLAB: Rezultati i fundit; nëse ndryshorja e daljes nuk është e specifikuar, atëherë MATLAB përdor variablin ans. Preciziteti i pikës lundruese; përcaktohet nga eps është gjatësia e mantisës dhe për PC eps = 2.220446049250313e-016 Numri maksimal i pikës lundruese, i përfaqësuar nga realmax tim në kompjuter; për PC realmax = 1.797693134862316e + 308. Numri më i vogël me pikë lundruese që është realmin në kompjuter; për PC realmin = 2.225073858507202e-308. Një variabël special për p: pi pi = 3.141592653589793e + 000. 70 Variabla speciale për i imagjinare, j njësi Variabla speciale për simbolin e pafundësisë? Një variabël i veçantë për të treguar një vlerë të papërcaktuar - rezultati i operacioneve si: 0/0, inf / inf. Një variabël i veçantë për të treguar llojin e kompjuterit të përdorur nga kompjuteri; për PC - PCWIN. Një variabël i veçantë për të treguar numrin e flops-eve të operacioneve me pikë lundruese. Një variabël i veçantë për ruajtjen e numrit të versionit të versionit të përdorur të sistemit MATLAB. 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ë lloje bazë të të dhënave, 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 merr emrin e tij, MATRIX LAB. Diagrami i një objekti të sistemit MATLAB që i përket njërës prej klasave është si më poshtë (Figura 3.1): Figura 3.1 71 Më shpesh do t'ju duhet të merreni vetëm me dy nga këto lloje të dhënash: një grup numrash me saktësi të dyfishtë (dyfish) dhe një grup karakteresh (char), ose thjesht një varg. Kjo për faktin se të gjitha llogaritjet në MATLAB kryhen me saktësi të dyfishtë dhe shumica e funksioneve punojnë me vargje numrash ose vargjesh me saktësi të dyfishtë. Llojet e tjera të të dhënave janë të destinuara për aplikacione të veçanta si puna me matrica të rralla (të rralla), përpunimi i imazheve (uint8), puna me vargje me dimensione të mëdha (qeliza dhe struktura). Lloji i ndryshores nuk mund të vendoset në numerike ose grup. Këto lloje quhen lloje virtuale dhe përdoren vetëm për të grupuar variabla që ndajnë 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. 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ë përcaktuar një operacion klasifikimi 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. Shembull i klasës Përshkrimi i një grupi numerik me precizion të dyfishtë (ky është më i zakonshmi [1 2; 3 4] variabla e dyfishtë e llojit 5 + 6i në MATLAB 72 Vargu i karaktereve (çdo karakter është i gjatë 16 bit), shpesh i quajtur Char "Hi" rresht. Dyfishtë matricë e rrallë me precizion (vetëm 2D). Struktura e rrallë përdoret për të ruajtur matricat me një numër të vogël hyrjesh jozero, gjë që lejon Sparse Speye (5) të përdorë vetëm një pjesë të memories që kërkohet për të ruajtur matricën e plotë." - Matricat gjenerike kërkojnë përdorimin e metodave të veçanta për zgjidhjen e problemeve Vargu i qelizave Elementet e kësaj vargu përmbajnë vargje të tjera. Vargjet e qelizave lejojnë qelizën (17 syri "përshëndetje" (2)) të kombinojë të dhënat e ndërlidhura, ndoshta të madhësive të ndryshme, në një strukturë të vetme. Gama e të dhënave. Ai përfshin emrat e fushave. A.ditë = 12; A.color = Vetë fushat mund të përmbajnë vargje. Si Struct "Red"; A.mat = vargje qelizash, vargje magjike (3); të dhënat kombinojnë të dhëna dhe informacione lidhur me to. 73 Një grup me numra të plotë 8-bitësh të panënshkruar. Ju lejon të ruani numra të plotë në intervalin 0 deri në 255 në 1/8 e memories së kërkuar nga Uint8 Uint8 (magjike (3)) për një grup me precizion të dyfishtë. Asnjë operacion matematikor nuk është përcaktuar për këto vargje. Lloji i të dhënave i përcaktuar nga UserObject inline ("sin (x)") i përcaktuar nga përdoruesi. Përshkrimi i diagramit. Linjat lidhëse në diagram (Figura 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 ", rrallë") isa (S ", dyfish") isa (S ", numerike") kthejnë 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 të dhënave të fëmijëve nën prindin në diagram mbështeten gjithashtu nga metodat prindërore. Prandaj, një grup i tipit double mbështetet nga metodat e përdorura për tipin numerik. Disa nga këto metoda janë paraqitur në tabelë: Metoda e klasës 74 Llogaritja e madhësisë, gjatësisë, dimensionit (ndims), bashkimi i vargjeve (), transpozimi, indeksimi shumëdimensional i grupit (nënindeks), zëvendësimi (riforma) dhe ndryshimi i dimensioneve të një grupi shumëdimensional varg. Indeksimi duke përdorur kllapa kaçurrela - Një grup qelizash (e1, ..., en) dhe ndarja e artikujve të listës me presje. Funksionet e vargut (strcmp, më i ulët), konvertimi automatik i String Char në tip të dyfishtë për të përdorur metoda të klasës së dyfishtë. Veprime aritmetike dhe logjike, funksione matematikore, funksione nga matricat. Kërkimi (gjeni), përpunimi i numrave kompleksë (real, imazh), gjenerimi i vektorëve, zgjedhja e rreshtave numerikë, kolonave, nënblloqeve të një vargu, zgjerimi i një skalari. Operacione të rralla në matrica të rralla. Gama e rekordeve Qasja në përmbajtjen e fushës .fusha (ndarësi i strukturës së artikujve të listës është presje). Funksionimi i ruajtjes (më shpesh përdoret me Uint8 RFP Image Processing Toolbox) UserObject Vargjet boshe të përcaktuara nga përdoruesi. Versionet e mëparshme të MATLAB lejuan një formë të vetme të grupit bosh 0x0, të shënuar si. MATLAB 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. Kllapat katrore vazhdojnë të përfaqësojnë 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). 75 Qëllimi kryesor i vargjeve të zbrazëta ë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ë korrespondojë 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 grupi A ka madhësi m?N dhe B ka madhësi m?P, atëherë C është një grup me madhësi m?(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 dhe më lart mbështet rregullat e sistemit MATLAB 4 për deklaratat if dhe while. Për shembull, një operator i kushtëzuar si 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, fitohen këto rezultate: shuma () = 0; prod () = 1; max () =; min () =. 3.4 Operatorët e sistemit MATLAB 5. Kombinimi i operatorëve në shprehje aritmetike. Funksionet e integruara Operatorët e sistemit MATLAB Operatorët e sistemit MATLAB ndahen në tre kategori: 76 Operatorët aritmetikë ju lejojnë të ndërtoni shprehje aritmetike dhe të kryeni llogaritjet numerike. operatorët relacionalë ju lejojnë të krahasoni operandët numerikë. operatorët logjikë ju lejojnë të ndërtoni shprehje logjike. Operatorët logjikë kanë përparësinë më të ulët ndaj operatorëve relacionalë dhe aritmetikë. Operatorët aritmetikë. Kur punoni me një grup numrash, nivelet e mëposhtme të përparësisë përcaktohen midis veprimeve aritmetike: niveli 1: transpozimi sipas elementit (. "), fuqizimi sipas elementit (. ^), transpozimi i matricës së konjuguar hermitian ("), fuqia e matricës ( ^); niveli 2: mbledhje unare (+), zbritje unare (-); niveli 3: shumëzimi i vargjeve (. *), ndarja djathtas (./), ndarja majtas e vargjeve (. \), shumëzimi matricë (*), zgjidhja e sistemeve të ekuacioneve lineare, operacioni (/), operacioni (\); niveli 4: mbledhja (+), zbritja (-); niveli 5: operatori i formimit të vargjeve (:). Brenda çdo niveli, operatorët kanë përparësi të barabartë dhe vlerësohen në rend nga e majta në të djathtë. Rendi i paracaktuar mund të ndryshohet duke përdorur kllapa. Shembull. Le të jepen 2 vektorë A =; B =; Rezultatet e ekzekutimit të operatorit C = A./B. ^ 2 është e barabartë me C = 0,7500 9,0000 0,2000 dhe operatori C = (A./B). ^ 2 është C = 2,2500 81,0000 1,0000. Siç mund ta shihni, rezultatet janë krejtësisht të ndryshme. Operatorët aritmetikë lejojnë përdorimin e shprehjeve të indeksit. Për shembull: 77 b = sqrt (A (2)) + 2 * B (1) b = 7 operatorë aritmetikë MATLAB zakonisht punojnë me vargje me të njëjtën madhësi. Për vektorët dhe vargjet drejtkëndore, të dy operandët duhet të jenë të njëjtën madhësi, përveç nëse njëri prej tyre është skalar. Nëse njëri prej operandëve është skalar dhe tjetri jo, pranohet në MATLAB që skalari të zgjerohet në madhësinë e operandit të dytë dhe operacioni i specifikuar të zbatohet për secilin element. Ky operacion quhet zgjerim skalar. Operatorët relacionalë. MATLAB përcakton 6 operatorët relacionalë të mëposhtëm:< Меньше <= Меньше или равно >Më e madhe se> = Më e madhe se ose e barabartë me == E barabartë me identitetin ~ = Jo e barabartë me Operatorët relacionalë kryejnë një krahasim sipas elementeve të dy vargjeve me dimensione të barabarta. Për vektorët dhe vargjet drejtkëndore, të dy operandët duhet të jenë të njëjtën madhësi, përveç nëse njëri prej tyre është skalar. Në këtë rast, MATLAB krahason skalarin me secilin element të operandit tjetër. Pozicionet ku ky raport është i vërtetë marrin vlerën 1, ku false - 0. Operatorët e relacionit, si rregull, përdoren për të ndryshuar sekuencën e ekzekutimit të deklaratave të programit. Prandaj, ato përdoren më shpesh në trupin e deklaratave if, for, while, switch. Operatorët relacionalë ekzekutohen gjithmonë në mënyrë elementare. Shembull. Le të krahasojmë dy vargjet duke përdorur kushtin A

Bazat e programimit MatLab

Namestnikov S.M. / Koleksion leksionesh: UlSTU, Ulyanovsk. - 2011

Prezantimi

Kapitulli 1. Struktura e programit. Operacionet bazë matematikore dhe llojet e të dhënave

1.1. Struktura e programit të paketës MatLab

1.2. Variabla të thjeshta dhe lloje bazë të të dhënave në MatLab

1.3. Veprime aritmetike mbi ndryshore të thjeshta

1.4. Funksionet themelore matematikore të MatLab

1.5. Vektorët dhe matricat në MatLab

1.6. Veprimet në matrica dhe vektorë

1.7. Strukturat në MatLab

1.8. Qelizat në MatLab

Kapitulli 2. Operatorët e kushtëzuar dhe sythe në MatLab

2.1. Deklarata e kushtëzuar nëse

2.2. Deklarata e ndërprerësit të kushtëzuar

2.3. Ndërsa deklarata e ciklit

2.4. Për operatorin e ciklit

Kapitulli 3. Puna me grafikë në MatLab

3.1. Funksioni i komplotit

3.2. Dizajni i grafikut

3.3. Shfaqja e grafikëve 3D

3.4. Duke shfaqur bitmaps

Kapitulli 4. Funksionet e programimit në MatLab

4.1. Procedura për përcaktimin dhe thirrjen e funksioneve

4.2. Shtrirja e ndryshueshme

Kapitulli 5. Puna me skedarë në MatLab

5.1. Ruani dhe ngarkoni funksionet

5.2. Funksionet Fwrite dhe fread

5.3. Funksionet Fscanf dhe fprintf

5.4. Funksionet Imread dhe imwrite

Prezantimi

Midis shumë paketave ekzistuese matematikore, si Mathematica, MathCad, etj., sistemi MatLab zë vendin kryesor për shkak të gjuhës së programimit të integruar të përshtatshëm për zbatimin e një shumëllojshmërie të gjerë të algoritmeve matematikore dhe problemeve të modelimit matematik. Për më tepër, kjo paketë ka një mjet shtesë të modelimit vizual Simulink, i cili ju lejon të ndërtoni dhe eksploroni modele matematikore pa iu drejtuar programimit.

Ky tutorial shqyrton gjuhën e brendshme të programimit MatLab, e cila jep fleksibilitetin, pasurinë e funksionalitetit dhe komoditetin më të madh në zgjidhjen dhe kërkimin e problemeve matematikore. Në paraqitjen e materialit, përparësi iu dha ndërtimeve më të thjeshta të gjuhës, duke studiuar të cilat mund të krijohen algoritmet matematikore më të ndryshme dhe jo të parëndësishme.

Kapitulli 1. Struktura e programit. Operacionet bazë matematikore dhe llojet e të dhënave

Hapi i parë drejt krijimit të algoritmeve matematikore është studimi i strukturës së programit dhe grupit të operacioneve matematikore të disponueshme për gjuhën e programimit. Në veçanti, ky kapitull do të shqyrtojë operacionet dhe funksionet matematikore të paketës MatLab që lidhen me përpunimin e variablave skalar dhe matricë.



Struktura e programit të paketës MatLab

Si rregull, çdo program në MatLab është një funksion dhe fillon me fjalën kyçe të funksionit, e ndjekur nga emri i tij, i ndarë me një hapësirë. Për shembull,

funksioni Lab1
a = 5;
b = 2;
c = a * b;

Ky program është i mbyllur në një funksion të quajtur Lab1 dhe llogarit produktin e dy variablave a dhe b. Kur ruani një program në një skedar m, rekomandohet të specifikoni një emër skedari që përputhet me emrin e funksionit, d.m.th. në këtë rast, Lab1.

Duhet të theksohet se shumë funksione shtesë mund të specifikohen në një skedar m. Për ta bërë këtë, mjafton të shkruani një fjalë kyçe më shumë funksioni në fund të listës së programit kryesor dhe të specifikoni emrin e tij, për shembull,

funksioni Lab1
a = 5;
b = 2;
c = a * b;
jashtë_c (c); % thirrja e funksionit out_c ()

funksioni out_c (arg_c)% përkufizimi i funksionit out_c ()
disp (arg_c);

Vini re se funksioni out_c () mund të thirret në programin kryesor përpara se të përcaktohet. Kjo është një veçori e gjuhës MatLab që lejon programuesin të mos shqetësohet për sekuencën e caktimit të funksioneve. Në shembullin e dhënë, funksioni out_c () ka një parametër hyrës të quajtur arg_c, i cili shfaqet në ekran (në dritaren e komandës MatLab) duke përdorur funksionin e integruar disp (). Si rezultat, kur të ekzekutohet programi i mësipërm, vlera e ndryshores c do të shfaqet në dritaren komanduese MatLab.

Funksionet shtesë mund të stilohen në m-skedarë të veçantë. Për shembull, nëse ekziston nevoja për të përshkruar një funksion në një skedar m dhe për ta thirrur atë në një tjetër, atëherë kjo mund të zbatohet si më poshtë.

Skedari 1 (Lab1.m)

Kur funksioni Lab1 ekzekutohet, sistemi MatLab do të thërrasë funksionin katror nga skedari square.m. Kjo do të bëhet automatikisht sepse Funksionet e integruara të gjuhës MatLab gjithashtu përcaktohen dhe thirren nga skedarët, emrat e të cilëve, si rregull, korrespondojnë me emrat e funksioneve të thirrura. Vini re gjithashtu se katrori () jo vetëm që merr dy argumente, a dhe b, por gjithashtu kthen produktin e tyre duke përdorur ndryshoren res. Sintaksa e dhënë duhet të përdoret sa herë që dëshironi të ktheni një rezultat llogaritjeje në programin kryesor. Kapitulli i katërt i këtij tutoriali përshkruan në mënyrë më të detajuar ndërtimin e thirrjeve të funksioneve për zbatimin e algoritmeve të ndryshme.

Variabla të thjeshta dhe lloje bazë të të dhënave në MatLab

Krijimi i një programi, si rregull, fillon me përcaktimin e variablave dhe një mënyrë të paraqitjes së të dhënave. Prandaj, për të organizuar siç duhet përshkrimin e të dhënave të programit, duhet të dini se si të vendosni variabla në MatLab dhe çfarë lloje variablash janë të mundshme.

Lloji më i thjeshtë dhe më i zakonshëm i të dhënave është një numër. Në MatLab, një numër ruhet në një variabël që ka një emër unik, për shembull

vendos një variabël me emrin a dhe i cakton vlerën 5. Si parazgjedhje, ndryshorja a është reale (e tipit double), d.m.th. mund të marrë vlera thyesore, për shembull,

vendos vlerën e ndryshores a në -7.8. Ju mund të ndryshoni llojin e një ndryshoreje duke specifikuar llojin e numrit të caktuar duke përdorur fjalën kyçe të përshtatshme, për shembull,

do të caktojë numrin 5 si një vlerë të plotë 16-bit. Si rezultat i një operacioni të tillë, lloji i ndryshores a do të korrespondojë me int16.

Llojet e të dhënave të disponueshme në MatLab janë paraqitur në tabelë. 1.1.

Tabela 1.1. Llojet bazë të të dhënave në MatLab

Si parazgjedhje, përdoret tipi i dyfishtë, i cili ka saktësinë më të lartë për paraqitjen e një numri real dhe për këtë arsye është një tip universal. Sidoqoftë, nëse keni nevojë të ruani kujtesën e kompjuterit, mund të specifikoni vetë llojin e dëshiruar.

Gjëja e fundit që duhet pasur parasysh gjatë përcaktimit të variablave është rregulli për përcaktimin e emrave të tyre. Në MatLab, emrat e variablave mund të specifikohen vetëm me shkronja latine, numra dhe simbolin '_'. Për më tepër, karakteri i parë në emër duhet të korrespondojë me shkronjën e alfabetit latin. Gjithashtu duhet theksuar se emrat

arg = 1;
Arg = 2;
ARG = 3;

këta janë tre emra të ndryshëm, d.m.th. tre variabla të ndryshëm me vlera përkatësisht 1, 2 dhe 3. Ky shembull tregon se MatLab dallon rastet në emrat e variablave.

Kur programoni, është mirë të vendosni emra të ndjeshëm të ndryshoreve, me anë të të cilëve mund të kuptoni se çfarë të dhënash përfaqësojnë. Kjo shmang konfuzionin kur ndërtoni programe të mëdha.

Si në të gjitha gjuhët e programimit, MatLab ofron mundësinë për të punuar me variabla. Për më tepër, përdoruesi nuk duhet të shqetësohet se çfarë vlerash do të marrë ndryshorja (komplekse, reale ose vetëm numra të plotë). Për t'i caktuar, për shembull, vlerën 1.45 ndryshores z, mjafton të shkruani z = 1.45 në vijën e komandës dhe MatLab do të shfaqë menjëherë vlerën z:

»Z = 1,45
z =
1.4500

Këtu përdoret shenja e barabartë si operatori i caktimit. Shpesh nuk është shumë e përshtatshme për të marrë rezultatin pas çdo detyre. Prandaj, MatLab ofron mundësinë për të përfunduar operatorin e caktimit me një pikëpresje për të shtypur daljen e rezultatit në dritaren e komandës. Emri i ndryshores mund të jetë çdo sekuencë shkronjash dhe numrash pa hapësirë, duke filluar me një shkronjë. Shkronjat e vogla dhe të mëdha janë të ndryshme, për shembull MZ dhe mz janë dy ndryshore të ndryshme. Numri i karaktereve të perceptuara nga MatLab në një emër variabël është 31.
Si një ushtrim për përdorimin e variablave, gjeni kuptimin e shprehjes së mëposhtme:

Shkruani sekuencën e mëposhtme të komandave (vini re pikëpresje në dy deklaratat e para të caktimit për të shtypur shfaqjen e vlerave të ndërmjetme në ekran):

"X = sin (1.3 * pi) / log (3.4);
»Y = sqrt (tan (2.75) / tanh (2.75));
» z= (x + y) / (x-y)
Z =
0,0243 - 0,9997i

Deklarata e fundit e detyrës nuk përfundon me një pikëpresje në mënyrë që të merret menjëherë vlera e shprehjes origjinale. Sigurisht, dikush mund të futë të gjithë formulën menjëherë dhe të marrë të njëjtin rezultat:

»(Sin (1.3 * pi) / log (3.4) + sqrt (tan (2.75) / tanh (2.75))) /…
(sin (1.3 * pi) / log (3.4) -sqrt (tan (2.75) / tanh (2.75))) ans =
0,0243 - 0,9997i

Vini re se sa hyrja e parë është më kompakte dhe më e qartë se e dyta! Në versionin e dytë, formula nuk përshtatej në dritaren e komandës në një rresht dhe duhej të shkruhej në dy rreshta, për të cilat u vendosën tre pika në fund të rreshtit të parë.

Për të futur formula ose komanda të gjata në vijën e komandës, vendosni tre pika (në një rresht, pa hapësira), shtypni tastin dhe vazhdoni të shkruani formulën në rreshtin tjetër. Në këtë mënyrë ju mund të vendosni një shprehje në shumë rreshta. MatLab do të vlerësojë të gjithë shprehjen ose do të ekzekutojë një komandë pasi të klikojë në rreshtin e fundit (që nuk ka tre pika të njëpasnjëshme).

MatLab kujton vlerat e të gjitha variablave të përcaktuara gjatë një sesioni. Nëse, pas futjes së shembullit të mësipërm, janë bërë disa llogaritje të tjera dhe është bërë e nevojshme të nxirret vlera X, atëherë thjesht duhet të shkruani X në vijën e komandës dhe shtypni :

»X
-0.6611

Variablat e përcaktuar më sipër mund të përdoren edhe në formula të tjera. Për shembull, nëse tani duhet të vlerësoni shprehjen

,

atëherë thjesht shkruani komandën e mëposhtme:

"(X-y) ^ (3/2)
ans =
-0,8139 + 0,3547i

Thirrja e funksioneve në MatLab është mjaft fleksibël. Për shembull, mund të llogarisni e3.5 duke thirrur funksionin exp nga linja e komandës:

»Ekspasion (3.5)
ans =
33.1155

Një mënyrë tjetër është të përdorni operatorin e caktimit:

»T = exp (3.5)
t =
33.1155

Supozoni se një pjesë e llogaritjeve me variabla është bërë, dhe pjesa tjetër do të duhet të plotësohet gjatë sesionit të ardhshëm të punës me MatLab. Në këtë rast, do t'ju duhet të ruani variablat e përcaktuara në mjedisin e prodhimit.

Shikimi i variablave

Kur punoni me një numër mjaft të madh variablash, duhet të dini se cilat variabla janë përdorur tashmë dhe cilat jo. Për këtë qëllim, përdoret komanda who, e cila shfaq një listë të variablave të përdorur në dritaren e komandës MatLab:

"Kush
Variablat tuaj janë:
al a2 a3

Komanda whos ju lejon të merrni informacion më të detajuar rreth variablave në formën e një tabele:

Totali i përgjithshëm është 3 elementë që përdorin 24 bajt

Kolona e parë, Emri, përmban emrat e variablave të përdorur. Ajo që përmbahet në kolonën Size përcaktohet në thelb nga parimi bazë i punës së MatLab. Softueri MatLab të gjitha të dhënat paraqiten në formë vargjesh. Variablat al, a2 dhe a3 janë vargje dydimensionale një nga një. Secila prej variablave është tetë bajt, siç tregohet në kolonën Bytes. Së fundi, kolona e fundit e Klasës tregon llojin e variablave - grup i dyfishtë, d.m.th. një grup numrash me saktësi të dyfishtë. Rreshti poshtë tabelës thotë se në fund janë tre elementë, d.m.th. variablat janë njëzet e katër bajt. Rezulton se përfaqësimi i të gjitha të dhënave në MatLab në formën e vargjeve jep disa avantazhe.
Për të liruar të gjitha variablat nga memoria, përdorni komandën clear. Nëse specifikoni një listë të variablave në argumente (të ndara me një hapësirë), atëherë vetëm ato do të çlirohen nga memorja, për shembull:

»Pastro al a3
"Kush
Variablat tuaj janë:
a2

Duke filluar nga versioni 6.0, është shfaqur një mjet i përshtatshëm për shikimin e variablave të mjedisit të punës - Hapësira e punës, për të kaluar në të cilin duhet të aktivizohet faqerojtësi me të njëjtin emër. Kjo dritare përmban një tabelë të ngjashme me atë të shfaqur nga komanda whos. Duke klikuar dy herë në rreshtin që korrespondon me secilën ndryshore shfaqet përmbajtja e saj në një dritare të veçantë, e cila është veçanërisht e dobishme kur punoni me vargje. Shiriti i veglave të dritares Hapësira e punës ju lejon të hiqni variablat e panevojshëm, të ruani dhe hapni mjedisin e punës.

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ë, ndoshta në lidhje të ndryshme duke përdorur lidhës të veçantë, përdoren si në linjën e komandës 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 një shkronjë latine, pastaj - 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. (detyrë e thjeshtë, referencë për disa. funksione etj.).

  1. Variablat numerikë: numra të zakonshëm (realë) ose kompleksë, vektorë, matrica dhe vargje 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) është elementi k-të i matricës i 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 është 2 bajt dhe trajtohet si një element i veçantë i vektorit të 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ë ndryshoreve të përcaktuara në një moment të caktuar kohor.

Metoda 3 - komanda whos - jep informacion më 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ë krijohen funksione të personalizuara do të diskutohet kur merren parasysh çë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, operatorët e këtyre programeve fillimisht përkthehen në instruksione të sistemit ekzekutiv të kompjuterit (interpretohen), dhe më pas ekzekutohen. 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