Sunteți pe pagina 1din 12

Notiuni generale privind pachetul de programe Matlab Simulink

Matlab (MATrix LABoratory) este un pachet de programe de inalta performanta dedicat calcului numeric si reprezentarilor grafice in domeniul stiintei si ingineriei. Matlab este un limbaj destinat operarii cu matrice dreptunghiulare de numere reale sau complexe. Calitatile si puterea acestui limbaj provin din implementarea functiilor de baza in operarea cu matrice. Alaturi de instructiunile si functiile interne ale limbajului, utilizatorul are posibilitatea sa-si defineasca propriile functii care sunt rezidente pe hard-disk, in fisiere cu extensia .m. Astfel apar grupate in toolbox-uri pentru: analiza si proiectarea sistemelor automate de control; proiectarea si simularea retelelor neurale; logica fuzzy; procesarea imaginilor si a semnalelor; optimizarea liniara si neliniara; rezolvarea ecuatiilor diferentiale; proiectarea sistemelor neliniare; simularea in timp real; calcul statistic; sinteza si identificarea sistemelor etc. Interpretorul Matlab are posibilitatea sa execute programe create in exteriorul sau cu un editor, sau interactiv fiecare instructiune introdusa. Este dotat cu un browser Help care permite descrierea sintaxei instructiunilor la cerere. Prin caracteristicile sale, limbajul Matlab este foarte adecvat studiului sistemelor dinamice liniare si a structurilor de reglare automata a acestora. Pentru aceasta se utilizeaza toolobox-ul Control System. Acest toolbox contine o biblioteca de functii specifice pentru analiza si proiectarea sistemelor de conducere. Sistemele pot fi considerate atat ca sisteme continue, cat si ca sisteme discrete. Sunt posibile conversii intre diferitele reprezentari. Analiza comportarii sistemelor modelate in Matlab este posibila pe baza raspunsului in timp, in frecventa sau a calculului locului radacinilor. Principalele facilitati de calcul oferite de Control System Toolbox sunt urmatoarele: constructia modelelor sistemelor dinamice liniare, invariante in timp cu o intrare si o iesire, utilizand diversele functii din Control System Toolbox. Sunt posibile diversele reprezentari de modele: functia de tranfer, reprezentare de stare, reprezentare poli-zerouri; conversii intre diversele reprezentari; constructia modelelor sistemelor cu mai multe intrari si mai multe iesiri;
1

reprezentarea sistemelor discrete, conversii analog-discret si invers, introducerea intarzierilor in modelul dinamic al procesului; conexiuni intre diverse sisteme.

Introducere in Matlab
1. 1 Prezentare general Mediul MATLAB este un software performant i cuprinztor destinat calculelor tehnice, avnd o interfa prietenoas cu utilizatorul. El ofer inginerilor, cercettorilor i tehnicienilor un sistem unitar i interactiv, care include calcule numerice i vizualizri grafice, prin aceasta sprijinind creativitatea i creterea productivitii. Pachetul de produse MATLAB reprezint un instrument puternic de cercetare, analiz i proiectare, de elaborare i testare rapid a soluiilor propuse i de rezolvare a celor mai dificile i complexe probleme tehnice. Poate fi considerat un limbaj de programare adaptat pentru probleme tiinifice, graie funciilor sale specializate, n care instruciunile sunt interpretate linie cu linie. Interesant este faptul c posed capaciti grafice pentru prezentarea rezultatelor sau pentru crearea aplicaiilor. MATLAB-ul nglobeaz analiza numeric, calculul vectorial, calculul matriceal, procesarea semnalelor i realizarea graficelor ntr-un mediu uor de utilizat, n care problemele i soluiile sunt exprimate aa cum sunt ele scrise matematic, fr a utiliza programarea tradiional. MATLAB-ul este un sistem interactiv care permite rezolvarea multor probleme numerice ntr-un timp mult mai scurt dect cel necesar scrierii unui program ntr-un limbaj de programare ca Fortran, Basic sau C. MATLAB-ul este folosit att n cercetare ct i n industrie pentru rezolvarea unor probleme practice de inginerie i de matematic. Programul a evoluat de-a lungul timpului, prin contribuiile mai multor utilizatori i are numeroase domenii de aplicare. Astfel, acesta dispune de o serie de soluii specifice pentru diferite aplicaii, aa-numitele toolboxes, biblioteci de funcii standard (fiiere M), care extind mediul MATLAB cu scopul de a rezolva clase particulare de probleme. Dintre domeniile n care sunt utile aceste toolboxuri fac parte: teoria reglrii automate, statistica i prelucrarea semnalelor, proiectarea sistemelor de reglare, simularea sistemelor dinamice, identificarea sistemelor, reele neuronale, etc. Cteva dintre aceste biblioteci de funcii, alturi de domeniile de aplicaii specifice, sunt enumerate n continuare:

Signal Processing Toolbox procesare de semnal; System Identification Toolbox identificarea sistemelor; Control System Toolbox sisteme de control; Robust Control Toolbox control robust; Optimization Toolbox optimizare; Neural Network Toolbox reele neurale; Symbolic Math Toolbox matematic simbolistic; Fuzzy Logic Toolbox logic fuzzy. Acest mediu de programare dispune de o notaie simplist - nu exist o sintax complicat de comenzi, care s trebuiasc s fie nvat cu greutate. Aceasta favorizeaz concentrarea direct pe problemele respective i nu pe aspectele tehnice privind programarea. Prin biblioteca matematic cuprinztoare a MATLAB-ului, sunt puse la dispoziia utilizatorului peste 500 de funcii matematice, statistice, tiinifice i tehnice. MATLAB-ul ofer o vitez mare de calcul, deoarece codificarea sa n C a fost atent optimizat, ciclurile interne principale fiind prelucrate n limbaj de asamblare. De aceea MATLAB are avantaje importante, att fa de alte pachete software interactive pentru aplicaii matematice, ct i fa de subprogramele C i Fortran corespunztoare. Se pot efectua diverse calcule numerice cu ajutorul MATLAB-ului, dintre care se amintesc: matematic general: -operaii cu matrice i cmpuri de date; -operatori relaionali i logici; -funcii trigonometrice i alte funcii elementare; -aritmetica polinomial; algebr liniar i funcii de matrice: -analiza matriceal, logaritmi, exponeniale, determinani, inverse; -sisteme de ecuaii liniare; -valori proprii, descompuneri dup valori singulare; -construirea de matrice; -operaii cu matrice; analiz de date i transformri Fourier; metode numerice neliniare; programare. 1.2 Structura mediului de programare Programul utilizeaz diferite tipuri de ferestre pentru introducerea de comenzi, date i vizualizarea acestora. Fereastra de comand (vezi fig. 1) este
3

acea fereastr n care utilizatorul tasteaz instruciunile i MATLAB-ul returneaz rezultatele (se mai numete i consol).

Figura 1. Fereastra de comand a MATLAB-ului n ferestrele grafice (vezi fig. 2), MATLAB-ul traseaz graficele cu ajutorul funciilor predefinite. O serie de alte ferestre grafice sunt disponibile din bibliotecile de funcii speciale, cele ale Simulink-ului sau ale altor obiecte predefinite.

Figura 2. Exemplu de fereastr grafic Versiunea 6.5 a MATLAB-ului conine un ansamblu format din diferite ferestre (vezi fig. 3), pentru a vizualiza n acelai timp comenzile din consol,
4

istoricul comenzilor din sesiunea curent, precum i din cele anterioare, ca i fereastra spaiului de lucru (Workspace), fereastra care afieaz proprietile variabilelor utilizate n sesiunea de lucru curent.

Figura 3. Fereastra principal a MATLAB-ului n sesiunile de lucru ale pachetului de programe MATLAB, se ntlnesc o serie de fiiere, descrise n cele ce urmeaz: Fiierele cu extensia M sunt fiiere ce conin linii de comand i pot fi apelate n consola MATLAB pentru a executa setul de comenzi coninute n acestea; Fiierele cu extensia P reprezint versiunea predefinit a fiierelor de tip M; Fiierele cu extensia MDL sunt fiiere reprezentnd modele Simulink; Fiierele cu extensia MEX sunt module executabile utilizate n MATLAB i create plecnd de la surse n C sau Fortran; Fiierele cu extensia MAT sunt fiierele utilizate pentru importul sau exportul de date n sau dinspre MATLAB. Componenta Simulink a MATLAB-ului este o extensie grafic a acestuia i permite lucrul cu scheme bloc pentru modelarea i simularea sistemelor. La rndul su, aceasta conine o serie de colecii de obiecte, grupate dup

funcionalitatea lor n biblioteca Simulink Library. Pentru a deschide aceast bibliotec, se apeleaz din linia de comand simulink. Pentru mai multe detalii despre aceast aplicaie, deschidei pagina Programul Simulink. MATLAB-ul permite crearea de interfee utilizator (GUI) personalizate, prin apelarea funciei guide n linia de command. Se va deschide o fereastr din care putem alege una dintre mai multe variante. Exist dou moduri posibile de funcionare: modul interactiv i modul executiv. n modul interactiv, MATLAB-ul execut instruciuni care sunt date de ctre utilizator, iar n modul executiv sunt executate, linie cu linie, programele scris ntr-un fiier M (sau P) sau ntr-un fiier executabil de tip MEX. MATLAB cuprinde o serie de programe specifice de aplicaii, aa-numitele "toolboxes". Acestea reprezint biblioteci de funcii MATLAB care adapteaz mediul de lucru pentru diferite probleme i diverse domenii de utilizare. Bibliotecile combin avantajele software-urilor gata produse (fabricate) cu productivitatea i flexibilitatea inerente unui mediu tehnic de calcul. Bibliotecile sunt disponibile pentru toate platformele pe care ruleaz MATLAB (Unix, Windows). Ca sistem deschis, MATLAB asigur accesul la codul surs al bibliotecilor, astfel nct algoritmii i funciile s poat fi examinate, adaptate i extinse pentru a corespunde necesitilor. Firma MathWorks ofer numeroase biblioteci, dintre care principalele sunt n urmtoarele domenii: prelucrarea semnalelor (Signal Processing Toolbox); prelucrarea imaginilor (Image Processing Toolbox); tehnica reglrii automate (Control Systems Toolbox); reglarea robust (Robust Control Toolbox); identificarea sistemelor (System Identification Toolbox); tehnici de optimizare (Optimization Toolbox); reele neuronale (Neural Network Toolbox); logica Fuzzy (Fuzzy Logic Toolbox); statistic (Statistics Toolbox). Avnd MATLAB ca baz comun, aceste biblioteci pot fi utilizate cu uurin mpreun. Astfel, metodele de optimizare i funciile de la reele neuronale pot fi folosite n rezolvarea problemelor complexe de prelucrare a semnalelor, iar rezultatele pot fi reprezentate sub forma unui grafic n culori cu trei dimensiuni, toate acestea realizndu-se ntr-un singur mediu unitar. 1.3 Sesiunea de lucru Matlab 1.3.1. Pornirea MATLAB-ului Activarea ferestrei de comand MATLAB se poate realiza:
6

- n Unix: ntr-o fereastr cmdtool, tastai "MATLAB"; - n Windows: dai clic pe iconia corespunztoare de pe desktop sau din meniul de programe. Prompterul de comand ">>" permite tastarea instruciunilor linie cu linie, fiecare linie fiind executat imediat dup apsarea tastei Enter.

Figura 4. Fereastra de comand n fereastra de comand se tasteaz instruciunile (for, while, if else, etc.), se definesc matricele i vectorii precum i operaiile cu acestea. O linie poate conine mai multe instruciuni separate cu virgul sau punct i virgul. Pentru a obine informaia ajuttoare referitoare la un anumit subiect, instruciune sau o funcie se tasteaz comanda "help" urmat de un subiect, funcie sau instruciune dorit (cu litere mici). n fig. 4 am cerut informaii despre funcia trigonometric sinus ("sin"). Sunt folosite totodat i o serie de funcii de control a sistemului de calcul pe care ruleaz MATLAB-ul: clock - funcie pentru citirea ceasului calculatorului; cputime - funcie pentru determinarea timpului de calcul al microprocesorului ; date - funcie pentru citirea datei; etime - funcie pentru cronometrarea intervalului de timp ntre dou evenimente; tic, toc - funcii pentru pornirea i oprirea unui cronometru. 1.3.2. Variabilele i spaiul de lucru (Workspace-ul). Operaii uzuale Tipurile de date utilizate n MATLAB Cel mai utilizat tip de date este matricea de dimensiune mxn, unde m este numrul liniilor, iar n, numrul coloanelor maricei. De asemenea, mai sunt
7

folosite i strucuturi de date cum ar fi tablourile, vectorii de date numerice sau de caractere. Definirea variabilelor n MATLAB nu exist instruciuni pentru declararea sau dimensionarea unei variabile. O variabil nou se poate defini n moduri diferite, atribuindui-se direct o valoare numeric (singular, vector, matrice, ir de caractere, etc) sau prin expresia sa matematic. EXEMPLUL 1. Mai jos, este atribuit o valoare real variabilei ts, lui v i este atribuit un vector de tip linie cu patru componente, iar lui text, un ir de caractere: >> ts=0.85 ts = 0.8500 >> v=[1 6 3 0] v= 1 6 3 0 >> text='buna' text = buna EXEMPLUL 2. Privii urmtoarea atribuire: >> x=[-5 sqrt(3) (3+9)*8/9] x= -5.0000 1.7321 10.6667 Dac variabila exist deja, MATLAB-ul schimb coninutul i dac este necesar, realoc mai mult spaiu n memorie. Variabilele astfel definite sunt stocate n spaiul de lucru i pot fi folosite n calculele ulterioare. Afiarea unei variabile din spaiul de lucru se realizeaz prin tastarea n linia de comand a numelui acesteia.

Figura 5. Informaii despre spaiul de lucru (Workspace-ul) EXEMPLUL 3. Exemplu de reapelare a variabilei ts: >> ts ts = 0.8500 Rezultatul unei instruciuni este afiat din start. Dac se dorete ca instruciunea s fie executat fr afiarea rezultatului trebuie adugat caracterul ";" la sfritul liniei. EXEMPLUL 4. Declararea unei variabile (r), fr afiarea valorii acesteia: >> r=3*5/pi; EXEMPLUL 5. Declararea explicit a unei matrice A2x3, de 2 linii i 3 coloane. >> A=[1 4 7; 3 9 2] A= 1 4 7 3 9 2 Comanda urmtoare are rolul de a returna elementul de pe prima linie i a doua coloan al matricei A: >> A(1,2) ans = 4 Operaii cu matrice
9

Fie X i Y dou matrice. Operaiile executate n MATLAB sunt ilustrate n cele ce urmeaz: 1) Adunarea i scderea sunt definite n cazul n care matricele au aceeai dimensiune. "A=X+Y;" "B=X-Y;" 2) nmulirea este definit atunci cnd matricea X are dimensiunea m*n, iar Y, dimensiunea n*p: "C=X*Y;" 3) mprirea la stnga: "D=X\Y;" este identic cu "inv(X)*Y;". 4) mprirea la dreapta este definit cnd matricele X i Y au aceeai dimensiune: "E=X/Y;" este identic cu "X*inv(Y);". 5) "F=X" calculeaz n F matricea X transpus. Acest lucru face ca pentru o matrice cu dimensiunea n*m s se obin o matrice F cu dimensiunea m*n. EXEMPLUL 6. Calculul determinantului unei matrice A se realizeaz prin utilizarea funciei det: >> A=[1 3 5; 0 6 2; -1 0.7 4] A= 1.0000 3.0000 5.0000 0 6.0000 2.0000 -1.0000 0.7000 4.0000 >> det(A) ans = 46.6000 EXEMPLUL 7. Ridicarea la putere Xp reprezint matricea ptratic X, ridicat la puterea p (scalar): >> x = [1 2; 3 4]; >> x^2 ans =

10

7 10 15 22 EXEMPLUL 8. Calculul valorilor proprii ale unei matrice A se realizeaz prin apelul subrutinei eig, cu matricea trimis ca parametru de intrare: >> A = [1 2 3; 4 3 4; 7 6 5]; >> eig(A) ans = 11.6847 -2.0000 -0.6847 Operaii element cu element Operaiile element cu element ale vectorilor i matricelor sunt efectuate adugnd punct "." n faa operaiilor "*","\", "/" i "^". EXEMPLUL 9. Operaii element cu element: >> x = [4 3 7 9]; >> y = x.^2 y= 16 >> x.*y ans = 64 27 343 729 Operaia de concatenare Operatorul [] permite combinarea de matrice sau de vectori ntre ele n scopul formrii unor matrice sau vectori mai mari. EXEMPLUL 10. Operaii de concatenare: >> x = [4 3 7]; >> y = x.^2;
11

9 49 81

>> z = [x y] z= 4 3 7 16 >> z = [x; y] z= 4 3 7 16 9 49

9 49

tergerea variabilelor din spaiul de lucru tergerea variabilelor din spaiul de lucru se execut cu ajutorul urmtoarelor instruciuni: "clear var1 var2" tergerea var1 i var2; "clear(all)" tergerea tuturor variabilelor. Pentru nchiderea unei sesiuni de lucru se tasteaz "quit" sau "exit". Terminarea sesiunii de lucru are ca efect pierderea variabilelor din spaiul de lucru, asta n cazul n care nu au fost salvate n prealabil ntr-un fiier cu extensia "mat".

12

S-ar putea să vă placă și