Your SlideShare is downloading. ×
initiere matlab
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

initiere matlab

3,729
views

Published on

curs

curs

Published in: Education

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,729
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
100
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 2. PREZENTARE GENERALĂ MATLAB MATLAB (MATrix LABoratory) este un pachet de programe de înaltă performan ă dedicat calculului numeric şi reprezentărilor grafice în domeniul ştiin ei şi al ingineriei, care integrează: analiza numerică, calculul matriceal, procesarea semnalului şi reprezentările grafice într-un mediu uşor de învă at şi folosit. Elementul de bază cu care operează MATLAB este matricea (matrix), cu care se pot rezolva problemele date, fără a fi necesară cunoaşterea unui limbaj de programare. Cea mai importantă caracteristică a MATLAB este uşurin a în operare şi dezvoltarea unor aplica ii specifice domeniului în care lucrează utilizatorul. Structural, MATLAB este realizat sub forma unui nucleu de bază, cu interpretor propriu, în jurul căruia sunt construite aplica ii specifice diferitelor domenii, numite TOOLBOX (colec ii extinse de func ii MATLAB, destinate rezolvării unor probleme din domenii variate). 2.1. Ferestre de lucru MATLAB lucrează cu două tipuri de ferestre: o fereastră de comenzi (Command Window) şi o fereastră pentru reprezentări grafice. Fereastra de comenzi În momentul declanşării programului, apare fereastra de comenzi. Meniul principal din bara superioară a acesteia este accesibil prin selec ia directă cu mouse-ul a comenzii dorite sau prin tastarea simultană a tastei Alt şi a literei subliniate a comenzii dorite. Fiecare comandă din meniul principal furnizează un meniu specific, în cadrul acestuia selec ia putându-se face, fie cu mouse-ul, fie prin tastarea literei marcate special, în fiecare subcomandă a respectivului meniu. O parte din comenzile prezente în meniul principal sunt aliniate sub formă de butoane pe bara imediat inferioară (Bara cu butoane). Comenzile esen iale şi func iile matematice se introduc în dreptul cursorului MATLAB; tot de aici se pot declanşa ini ierea toolbox-urilor (colec ii extinse de func ii MATLAB, destinate rezolvării unor probleme specifice anumitor domenii). În momentul în care capacitatea ecranului este depăşită din punct de vedere orizontal sau vertical, este posibilă deplasarea cu ajutorul butoanelor de derulare orizontală şi verticală. În figura următoare sunt prezentate componentele principale ale ferestrei de comenzi descrise anterior:
  • 2. Prezentare generală Matlab 27 Gestionarea fişierelor Selectând comanda File, din meniul principal, se ob ine submeniul de gestionare a fişierelor, cu următoarea listă de comenzi: New – provoacă descrierea unui alt sub-submeniu cu op iunile: M-File (deschide o ferestră de editare a unui fişier), Figure (deschide o fereastră grafică nouă), Model (deschide fereastra corespunzătoare modelării în Simulink); Open – deschide o fereastră de dialog, pentru a selecta un fişier, care va deveni un fişier de lucru; Open selection – analizează fişierele pentru selectare şi deschide pe cel selectat; Run Script – rulează comenzile componente ale unui scenariu; Load Workspace – încarcă fişierul specificat, în care au fost salvate anterior datele din spa iul de lucru; Save Workspace As – deschide o fereastră de dialog, pentru a salva datele din spa iul de lucru într-un fişier, al cărui număr trebuie precizat; Show Workspace – prezintă con inutul spa iului de lucru; Show Graphics Property Editor – editorul de proprietă i grafice ; Show GUI Layout Tool – modificarea interfe ei; Set Path – se stabilesc căile către directoarele în care se găsesc fişiere sau
  • 3. 28 SISTEME DE PROGRAMARE PENTRU MODELARE ŞI SIMULARE aplica ii MATLAB; Preferences – stabilirea proprietă ilor ferestrei de comenzi; Print Setup – configurarea caracteristicilor imprimantei şi paginii; Print – permite tipărirea documentului; Exit MATLAB – părăsirea aplica iei. Func ia Edit Aproape toate comenzilor prezente în submeniul Edit sunt comune cu cele din meniurile similare ale majorită ii editoarelor de texte sub Windows: Undo, Cut, Copy, Paste, Clear, Select All. Ştergerea sesiunii de lucru se realizează cu comanda Clear Session. Selectarea ferestrelor Trecerea dintr-o fereastră grafică sau de comenzi, într-o altă fereastră, se realizează prin selectarea comenzii Windows din meniul principal, urmată de selectarea uneia dintre ferestrele grafice deschise sau acelei de comenzi. Editarea programelor La editarea oricărui program, utilizatorul poate apela help-ul şi astfel să revadă parametrii de intrare şi ieşire ai func iei respective. În plus, sunt furnizate informa ii referitoare la func ionarea MATLAB, demonstra ii şi exemple. Fereastra de reprezentări grafice în Matlab Fereastra grafică este o formă elevată de reprezentare a graficelor; pot exista mai multe ferestre grafice deschise în acelaşi timp, dar o singură fereastră de comenzi. În fereastra grafică pot fi reprezentate func ii 2D sau 3D, imagini color, anima ie etc. Gestionarea ferestrelor grafice Selectarea comenzii File-New-Figure determină trecerea într-o fereastră grafică. Dacă se selectează comanda Window (din meniul principal), urmată de op iunea Figure, se trece în fereastra grafică ce con ine o reprezentare anterioară. Editarea graficelor Selectând comanda Edit din meniul principal al ferestrei grafice, apare un submneniu, asemănător cu cel al ferestrei de comandă.
  • 4. Prezentare generală Matlab 29 2.2. Func ii de interes general Func ii pentru intrarea şi ieşirea din Matlab Func iile pentru lansarea unei sesiuni de lucru în MATLAB, părăsirea acesteia, precum şi asigurarea unor informa ii necesare unei func ionări corecte sunt: startup – fişier M, executat la activarea MATLAB; matlabrc – fişierul principal pentru lansarea MATLAB (con ine toate căile de acces la fişierele de lucru, precum şi setările parametrilor de lucru); exit, quit – ieşire din MATLAB. Func ii pentru control general Pentru controlul general al mediului de programare MATLAB se utilizează func iile: help – furnizează informa ii despre func ionarea MATLAB; what – listează fişierele *.M, *.MAT şi *.MEX din directorul curent; type – listează fişierul M men ionat; lookfor – întoarce numele fişierelor care au în prima linie a Help (linia H1) cuvintele precizate ca argument; which – întoarce calea spre un fişier sau o func ie MATLAB; path – întoarce căile utilizate de MATLAB pentru a găsi fişierele apelate; who – listează variabile curente din memorie; whos – listează variabilele curente, dimensiunile lor, precum şi tipul acestora (reale sau complexe). Func ii pentru controlul directoarelor şi fişierelor Principalele func ii Matlab cu ajutorul cărora se controlează directoarele şi fişierele sunt: cd – schimbă directorul curent; dir – listează con inutul directorului curent; delete – şterge fişierul precizat de pe disc; ! – execută comenzi DOS (precedate de !), fără părăsirea MATLAB; diary – salvează sesiunea de lucru (fără partea grafică) într-un fişier text (ASCII). Func ii de control ale mărimilor de timp Controlul mărimilor de timp specifice se realizează cu func iile: clock – citeşte timpul din BIOS-ul computerului; cputime – determină timpul de calcul al “CPU”; date – citeşte data din BIOS-ul computerului;
  • 5. 30 SISTEME DE PROGRAMARE PENTRU MODELARE ŞI SIMULARE etime –cronometrează intervalul de timp între două evenimente; tic, toc – porneşte, respectiv opreşte un cronometru. Func ii asociate ferestrei de comenzi Fereastra de comenzi se poate controla prin următoarele func ii: clc – şterge fereastra de comenzi; home – mută cursorul în pozi ia ini ială (prima linie-prima comandă); format op iune – setează formatul de afişare a datelor, în func ie de op iunea specificată (short – 5 cifre, long – 15 cifre, short e – 5 cifre + exp, long e – 15 cifre + exp, hex – hexazecimal, plus – plus blanc minus, blank – cu 2 zecimale, rat – în numere ra ionale); echo – permite afişarea liniilor de program, în timpul executării acestora; more – func ie pentru controlul numărului de linie afişat de monitor. Func ii de control ale variabilelor din memorie În timpul lucrului, o serie de mărimi sunt re inute în spa iul de lucru sau în memoria calculatorului. Acestea pot fi controlate cu următoarele func ii: disp (X)– afişează o matrice sau un text, fără a tipări numele acesteea, unde X este un şir text sau o matrice; Exemplificare: Următoarea secven ă de MATLAB duce la afişarea unei matrice cu etichete de coloane: Nr. Var1 Var2 disp (‘Nr. Var1 Var2) 1 5 2 for i= 1:4 ⇒ 2 20 4 y=[i,5*i^2, 2^i]; 3 45 8 end. 4 80 10 clear – şterge toate variabile din spa iul de lucru (clear X Y Z şterge doar variabilele men ionate); pack – compactează datele din memorie; size – întoarce dimensiunea unei matrice; length – returnează lungimea unui vector. Exemplificare: Pentru matricea X = [1 2 4; 5 7 9], instruc iunile: b = size(X) b = [2 3] - 1 linie şi 4 coloane [m,n] = size (X) ⇒ m=2 - 1 linie d = length (X) n=3 - 4 coloane d=3 - dimensiunea maximă 4
  • 6. Prezentare generală Matlab 31 Variabile speciale şi constante Matlab Variabilele speciale şi constantele au o semnifica ie deosebită în MATLAB. Acestea nu pot fi declarate şi sunt accesibile global, în orice fişier-M. Variabilele speciale nu sunt introduse în mod obişnuit, fiind accesibile global în orice fişier-M. Variabilele speciale şi constantele introduse în mod uzual în MATLAB sunt: ans – variabilă creată automat, reprezentând rezultatul unui calcul pentru care nu s-a alocat un nume; eps – variabilă permanentă, în care este memorată eroarea relativă pentru calculele efectuate în virgulă mobilă (2,2204e-016); pi – variabilă permanentă, care are alocată valoarea 3,14159265358; i = − 1 – variabilă folosită pentru introducerea numerelor complexe (z =x + iy); j= − 1 – alternativă a unită ii imaginare, i; inf – variabilă folosită pentru reprezentarea lui plus infinit în standardul IEEE, rezultat al împăr irii 1,0/0,0; NaN – variabilă folosită pentru reprezentarea lui Not-a-Number (NaN), în aritmetica IEEE, rezultat al împăr irii nedefinite 0,0/0,0; nargin – variabilă permanentă, pentru testarea numărului argumentelor de intrare ce trebuie introduse pentru apelarea unei func ii; nargout – variabilă permanentă, pentru testarea numărului argumentelor de ieşire ale unei func ii; flops – întoarce numărul de opera ii, în virgulă mobilă, efectuate de calculator; computer – variabilă folosită pentru ob inerea informa iilor referitoare la tipul calculatorului şi numărul maxim de elemente pe care le poate gestiona versiunea de MATLAB; realmax – reprezintă cea mai mare valoare pozitivă, în virgulă mobilă, care poate fi folosită în calcule (1,7977e+-308); realmin – reprezintă cea mai mică valoare pozitivă, în virgulă mobilă, care poate fi folosită în calcule (2,2251e+-308); isieee – func ie care returnează 1, dacă computerul lucrează în standard IEEE şi 0, în caz contrar; version, ver –func ii cu care se determină versiunea MATLAB sau a toolbox-urilor. Importul şi exportul fişierelor de date Pentru importul şi exportul fişierelor de date sunt următoarele func ii mai importante: load – încarcă varibilele dintr-un fişier de pe disc; sintaxa este load nume_fişier-format_date (ASCII sau BINAR); save – salvează variabilele de pe disc într-un fişier de date; sintaxa este save nume_fişier-format_date (ASCII sau BINAR).
  • 7. 32 SISTEME DE PROGRAMARE PENTRU MODELARE ŞI SIMULARE 2.3. Obiecte Matlab Matrice, vectori şi scalari MATLAB-ul utilizează numai un singur tip de obiecte, matrice numerice rectangulare, cu elemente reale sau complexe. Astfel, scalarii sunt asimila i matricelor 1x1 (1linie x 1coloană), iar vectorii sunt asimila i matricelor 1xn sau nx1. Cea mai simplă metodă de definire a matricelor mici, constă în utilizarea unei liste explicite, respectând următoarele reguli: - elementele unei linii trebuie separate prin blank-uri sau virgule; - liniile se separă prin “;”; - elementele matricei sunt cuprinse între “[]”. Astfel secven a A=[1 2; 3 4] întoarce rezultatul: A= 1 2 3 4 Pentru matricele mari, la care datele de intrate nu încap pe o singură linie, se poate înlocui “;” cu “Enter”, ca în exemplul următor: A =[ 1 2 3 4] Un alt mod de definire constă în apelarea unui fişier de tip ASCII, cu extensia .m, deja creat. Acest fişier trebuie să fie organizat ca o matrice rectangulară completă: 1 2 3 4 Elementele matricelor pot fi numere reale sau complexe, precum şi orice expresie MATLAB. De exemplu, din secven a : x=[-1.3 sqrt(3) (1+2+3)*4/5], rezultă: x =[ -1.3000 1.7321 4.8000]. Elementul unei matrice x, aflat la intersec ia dintre linia i şi coloana j este identificat cu nota ia x(i,j). Astfel: a = x(2) ⇒ a = 1.7321. Fie A1 şi A2 cele două matrice utilizate. Cu secven a următoare: A1 = [1 2; 3 4] A= A2 = [5 6; 7 8] ⇒ 1 2 A = [A1; A2] 3 4 5 6
  • 8. Prezentare generală Matlab 33 Declara ii şi variabile Instruc iunile în MATLAB apar sub forma: variabilă = expresie. Expresiile sunt compuse din operatori sau alte caractere speciale, din func ii şi nume de variabile. Dacă numele variabilei şi semnul egal sunt omise, programul creează automat o variabilă cu numele “ans”, ca în exemplul: 3/4 întoarce, ans = 0.7500. Orice instruc iune este, în mod normal, terminată cu “Enter”. Dacă ultimul caracter al acesteia este “;” executată, tipărirea nu este executată. Astfel, secven a: A= [1 2 3; 4 5 6; 7 8 9] ; introduce matricea A, dar nu o afişează. Dacă expresia este mai lungă şi nu încape pe o linie, se utilizează semnul “…”, urmat de “Enter”, precizându-se astfel că instruc iunea continuă pe următoarea linie. Astfel, instruc iunea: S=1+2+3+… 4+5+6; evaluează suma celor şase numere şi o atribuie variabilei S. Spa iile dintre semnele “=”,“+”, şi “-” şi numere sunt op ionale. Numele de variabile şi func ii au ca prim caracter o literă, urmată de litere, cifre sau “_”. MATLAB re ine doar primele 19 caractere din numele variabilei şi face distinc ie între litere mari şi mici, deoarece func ia caesesen este activată automat la activarea programului. Numere şi expresii aritmetice MATLAB utilizează pentru reprezentarea numerelor nota ia zecimală americană, cu punct zecimal. Calculatoarele care utilizează aritmetica în virgulă mobilă IEEE, au precizia relativă a numerelor “eps”, aproximată cu 16 cifre semnificative. Limitele numerelor folosite în MATLAB sunt: 10-308 şi 10308. Operatorii aritmetici utiliza i sunt: + adunarea; - scăderea; * înmul irea; / împăr irea la dreapta; împăr irea la stânga (1/4 = 41); ^ ridicarea la putere. Structura programelor Matlab Fişierele-M con in instruc iuni MATLAB şi au extensia .m şi constau într-o succesiune de instruc iuni MATLAB, cu posibilitatea apelării altor fişiere-M, precum şi a apelării recursive. Un program MATLAB poate fi scris sub forma fişierelor “script” sau “function”. Aceste tipuri de fişiere (.m) permit crearea unor func ii noi, care le pot
  • 9. 34 SISTEME DE PROGRAMARE PENTRU MODELARE ŞI SIMULARE completa pe cele deja existente. Prin această facilitate, MATLAB-ul poate fi extins la aplica ii specifice utilizatorului, care are posibilitatea să scrie noi proceduri. Fişierele script Este un fişier extern care con ine o secven ă de comenzi MATLAB, executată în momentul apelării numelui fişierului. Fişierele script sunt folosite pentru rezolvarea unor probleme care cer comenzi succesive atât de lungi, încât ar putea deveni greoaie pentru lucrul în mod interactiv. După execu ia completă a unui fişier script, variabilele cu care acesta a operat rămân în zona de memorie a aplica iei. Fişierele function Dacă prima linie a fişierului-M con ine cuvântul ”function”, fişierul respectiv este declarat ca fişier func ie (spre deosebire de script în el se poate lucra cu argumente). Fişierele func ie sunt utilizate pentru extinderea MATLAB, prin crearea de noi func ii. La terminarea execu iei unei func ii, în memoria calculatorului rămân doar variabilele de ieşire ale acesteea. Forma generală a primei linii a unui fişier func ie este: function [param_ieşire]=nume_func ie(param_intrare) unde: - function – declară fişierul ca fişier func ie; - nume_func ie – numele func iei; - param_ieşire – parametrii de ieşire trebuie separa i cu virgulă şi cuprinşi între paranteze drepte; - param_intrare - parametrii de intrare trebuie separa i cu virgulă şi cuprinşi între paranteze rotunde. Exemplificare: Un fişier care calculează media aritmetică, numit medie.m: function m = medie (x) n=length (x); m = sum (x)/n; y = [‘Media numerelor este: ‘, num2str(m) ]; disp (y). 2.4. Instruc iuni şi func ii de control Instruc iuni de control logic Matlab prezintă următoarele instruc iuni de control logic: if - instruc iunile pentru execu ia condi ionată; else – instruc iune asociată if; elseif - instruc iune asociată if; for – instruc iune pentru crearea ciclurilor cu număr specificat de paşi; while – instruc iune pentru crearea ciclurilor cu condi ie logică;
  • 10. Prezentare generală Matlab 35 break – instruc iune pentru terminarea for ată a unui ciclu; return – returnează execu ia la func ia precizată; error – instruc iune pentru afişarea unui mesaj de eroare; end – instruc iune pentru închiderea ciclurilor “for”, “while” şi “if”. Operatori rela ionali şi logici În cazul unui algoritm este uneori nevoie de o selec ie a grupului de instruc iuni a căror execu ie este condi ionată de valoarea de adevăr a unei expresii. Instruc iunile condi ionale utilizează operatori rela ionali şi logici. Operatorii rela ionali compară două matrice, element cu element, returnând o matrice de aceeaşi dimensiune cu a matricelor care se compară, cu elementele 1, când rela ia este ADEVĂRATĂ şi 0 când este FALSĂ. Operatori rela ionali Semnifica ie < mai mic <= mai mic sau egal > mai mare >= mai mare sau egal == identic -= diferit Pentru combinarea a două sau mai multe expresii logice se utilizează operatori logici. Operatorii logici Simbol MATLAB Prioritatea NU _ 1 ŞI & 2 SAU | 3 MATAB con ine func ii pentru testarea unor condi ii rela ionale şi logice în tablouri de date sau matrice. Acestea sunt des utilizate, asociate cu instruc iunea “if”: exist- verifică dacă variabilele sau func iile argument sunt definite; any-testează dacă cel pu in un element al unei matrice verifică o condi ie logică; find - returnează indicii elementelor diferite de zero; isnan - testează dacă elementele unei matrice sunt NaN; isinf - testează dacă elemntele unei matrice sunt infinite; finite – testează dacă elementele unei matrice sunt finite.
  • 11. 36 SISTEME DE PROGRAMARE PENTRU MODELARE ŞI SIMULARE Caractere speciale Caracterul „:” sau „colon” este larg utilizat pentru: • a genera valori cu pas liniar constant sau cu pas constant dat; • a selecta o matrice, rândul sau coloana acesteia; • producerea unei liste de argumente. Parantezele rotunde, simbolizate prin „( )”, sunt folosite: • în calculele aritmetice sau logice, pentru a grupa opera iile şi unde in locul tuturor tipurilor de paranteze (rotunde, drepte, acolade); • pentru a indica elementul unui vector sau matrice ; • pentru a grupa argumentele unei func ii. Parantezele drepte, simbolizate prin „[ ]”, sunt utilizate pentru: • formarea vectorilor şi matricelor, prin indicarea elementelor acestora; • stocarea unei matrice goale; • schimbarea unui rând sau coloane dintr-o matrice; • concatenarea vectorilor şi a matricelor. Caracterul „@” este utilizat pentru a crea o func ie implicită, apelabilă ca şi o variabilă. Punctul, cu simbolul „.” este folosit pentru: • scrierea numerelor zecimale; • opera ii cu tablouri, pentru a indica că operatorii de înmul ire, de ridicare la putere, de împăr ire la dreapta, de împăr ire la stânga, sau de transpunere, lucrează element cu element ; • în câmpuri de acces, când se lucrează cu structuri. Atribuirea unei variabile Var a valorii unei expresii se realizează prin utilizarea semnului egal, „=”.

×