matlab_1

29
1 Fundamentele Matlab

Upload: olarisergiu

Post on 01-Oct-2015

13 views

Category:

Documents


7 download

DESCRIPTION

Matlab_1

TRANSCRIPT

Matlab

1

Fundamentele Matlab2CE ESTE MATLAB ? MATLAB (MATtrix LABoratory) este un pachet de programe de nalt performan, interactiv, destinat calculului matematic, tiinific i ingineresc; MATLAB integreaz calcul, programare i vizualizare, ntr-un mediu de lucru prietenos, soluionarea problemelor presupunnd folosirea notaiilor matematice clasice; MATLAB este un produs al companiei americane The Mathworks, Inc. [http://www.mathworks.com] i lucreaz sub Windows, Unix, LINUX i Machintosh. MATLAB include toate facilitile unui limbaj complet de programare, admind interfee cu limbajul de programare C, C++ i FORTRAN. Versiunea cea mai recent a pachetului de programe MATLAB este versiunea 7. 3CE ESTE MATLAB ? Domenii de utilizare:

4Matematic i calcul numeric; Programare i dezvoltare de algoritmi; Modelare i simulare; Analiz de date, exploatarea rezultatelor i vizualizare; Grafic tiinific i inginereasc;Dezvoltare de aplicaii software, incluznd construcie de interfee grafice cu utilizatorul GUI (Graphical User Interface). MATLAB-ul a evoluat:

n mediul universitar, unde este pachetul standard pentru cursurile introductive i avansate de matematic, tiin i inginerie; n industrie, unde este utilizat pentru cercetarea de nalt randament, dezvoltare i producie.5Mediul de dezvoltare MATLAB;Biblioteca de funcii matematice MATLAB;Limbajul MATLAB; Handle Graphics;Interfaa de aplicaii program MATLAB API (Application Program Interface)6Structura sistemului MATLABconst din cinci pri principale:Mediul de dezvoltare MATLAB Reprezint un set de faciliti care permit manevrarea variabilelor n spaiul de lucru, importul i exportul de date, dezvoltarea, manipularea, editarea i depanarea fiierelor MATLAB (.m) i a aplicaiilor MATLAB.7Biblioteca de funcii matematice MATLAB Reprezint o colecie complex de algoritmi de calcul pornind de la funcii elementare (sinus, cosinus etc.) pn la funcii sofisticate (inversarea de matrice, calcul de valori proprii, funcii Bessel, transformata Fourier etc.). 89Reprezint un limbaj de nivel nalt de tip matrice/vector cu instruciuni de control al salturilor, funcii, structuri de date, intrri/ieiri i cu proprieti de programare orientat pe obiecte.Limbajul MATLAB: Handle Graphics Reprezint sistemul de grafic MATLAB i include comenzi de nalt nivel pentru vizualizarea 2D i 3D a datelor, procesare de imagini, animaie i grafic 10Interfaa de aplicaii program a MATLAB-ului (API) Aceasta este o bibliotec ce permite scrierea programelor C i Fortran ce interacioneaz cu MATLAB. Biblioteca conine facilitai de apel de subrutine din MATLAB (dynamic linking), de apelare a MATLAB-ul ca pe o main de calcul, i de citire i scriere de fiiere MAT-files. 1112Pachete de programe n MatlabMatlab Web ServerBioinformatics ToolboxCommunications ToolboxControl System ToolboxDatabase ToolboxDistributed Computing ToolboxFinancial ToolboxFuzzy Logic ToolboxGenetic Algorithm and Direct Search ToolboxImage Processing ToolboxNeural Networks ToolboxPartial Differential Equation ToolboxSignal Processing ToolboxSimBiologySpline ToolboxStatistics ToolboxSymbolic ToolboxVirtual Reality ToolboxWavelet ToolboxSimulinkAerospace BlocksetCommunications BlocksetVideo and Image ProcessingReal-Time WorkshopMatlab Builder for .NETMatlab Compiler MS OfficeToolbox-urile MATLAB13Toolbox-urile reprezint o familie de aplicaii care permit nvarea i aplicarea tehnologiilor specializate din diverse domenii.Aceste toolbox-uri sunt colecii de funcii MATLAB (functions) (M-files) care extind mediul MATLAB pentru rezolvarea unor clase particulare de probleme. Pachetul SIMULINK14SIMULINK este un pachet software ataat MATLAB-ului i reprezint un sistem interactiv pentru simularea dinamicii sistemelor neliniare (bineneles i a celor liniare). Este conceput sub forma unei interfee grafice care permite crearea unui model prin trasarea schemei bloc a sistemului i apoi simularea dinamicii sistemului.

Lansarea MATLAB

Dublu-clic pe icoana MATLAB de pe Desktop Clic pe START Clic pe MATLAB

15

Comenzi de ieire din MATLAB Clic pe meniul File + clic pe Exit MATLAB;Clic pe close box-ul ferestrei MATLAB Desktop Tastai exit sau quit n Command Window

16

Fereastra aplicaiei Matlab

17Fereastra de comenzi (Command Window), permite lansarea comenzilor MATLAB; Fereastra Command History, permite memorarea, vizualizarea, editarea i relansarea funciilor lansate anterior n Command Window; Fereastra Workspace conine valorile variabelelor utilizate stocate n memoriea calculatorului.

18Ferestrele de lucru MATLABElementele limbajului MATLAB19TIPURI DE DATENumere. MATLAB folosete pentru numere notaia zecimala convenional, cu punct zecimal opional si semne plus sau minus. Notaia stiintific folosete litera e pentru a specifica 10 la puterea corespunztoare. Numerele imaginare folosesc fie i fie j ca sufix. Iata cateva exemple de numere: 3 -99 0.0001 9.6397238 1.60210e-20 6.02252e23 1i -3.14159j 3e5i Toate numerele sunt stocate intern folosind formatul long standardizat, avnd o precizie de circa 16 cifre semnificative i variind intre aproximativ 10-308 i 10+308. Pentru a economisi memorie, numerele pot fi folosite i n forma ntreg sau zecimal cu simpl precizie.

n afara datelor de tip numeric, MATLAB lucreaz i cu date de tip logic sau de tip caracter.CARACTERE SPECIALE: Se folosete la generarea diviziunilor, ( ) Folosite pentru corpul unei funcii; [ ] Pentru desemnarea unei matrici/vector; @ Simbol pentru anunarea unei funcii de tip FUNCTION_HANDLE; . Indicator de operaie aritmetic element cu element; Continuarea unei comenzi Matlab pe linia de comanda urmatoare; , Separator intre instruciuni pe aceiai linie de comand (cu ecou pe ecran); ; Separator intre instructiuni pe aceiasi linie de comanda ( fara ecou pe ecran); % Se foloseste pentru a anunta comentarii in program; ! Parasirea mediului Matlab pentru o sesiune de lucru externa; = Asignare; Transpusa unei matrici, [,] Separator intre elementele aceleiai linii ntr-o matrice/vector ;[;] Separator intre liniile unei matrici. 21Constante Constantele utilizate n Matlab sunt numerele reale, numerele complexe i irurile de caractere.Numerele realese scriu cu partea subunitar separat de cea ntreag de punct. Exemple7.5, -4.0, -4Numerele reale se pot scrie cu exponent, de forma en sau dn. Exemple1.23e-2, -2.5e+2, -2.5e2Numere complexeSunt predefinite constantele complexe i i j cu . Numrul complex a+bi se scriea+bi, a+bj2223MATLAB nu necesit nici un tip de instruciuni de declarare sau dimensionare a variabilelor. Cnd MATLAB intlnete un nou nume de variabil, acesta creeaz automat variabila i aloc memoria necesar. Dac variabila deja exist, MATLAB schimb coninutul acesteia i dac este necesar aloca o alt cantitate de memorie.

Numele de variabile ncep obligatoriu cu o liter, urmat de orice numr de litere, cifre, etc. MATLAB folosete doar primele 63 de caractere ale unui nume de variabil. MATLAB face deosebirea ntre litere mari i mici. A si a nu reprezint aceeai variabil.

ATENIE ! Dac unei variabile i se d numele unei funcii, funcia nu mai poate fi folosit pn cnd variabila nu este tears. Exist i un numr de cuvinte rezervate, care nu pot fi folosite ca nume de variabile ('break, 'continue, 'else, 'end, 'for, 'function, 'if, 'return, 'switch, 'while, etc.)VARIABILE24pi 3.14159265... i sqrt(-1) j sqrt(-1) eps Precizia relativa in virgula mobila 2.2204e-016 realmin Cel mai mic numr in virgula mobila 2.2251e-308realmax Cel mai mare numr in virgula mobila 1.7977e+308inf Infinit NaN Not-a number VALORI SPECIALE25n MATLAB operatorii pot fi: aritmetici, logici sau relaionali.Operatorii matematici:+ Adunare- Scdere.* nmulire./ mprire la dreapta.\ mprire la stnga+ Plus unar- Minus unar.^ Putere.' Transpus' Transpus complex conjugat* nmulire de matrice/ mprire la dreapta a matricelor\ mprire la stnga a matricelor^ Ridicarea la putere a matricelorOPERATORI26MATLAB pune la dispoziie un mare numr de funcii matematice standard, incluznd abs, sqrt, exp, sin etc.Extrgnd radical sau aplicnd logaritm pe un numr negativ nu este eroare ci rezultatul este un numr complex calculat automat. MATLAB dispune de trei categorii de funcii: funcii elementare, funcii avansate i funcii speciale pentru matrice. Multe dintre aceste funcii accepta argumente complexe. O lista a funciilor elementare se poate obine tastnd help elfun. Pentru a obine o lista a funciilor avansate de matematica si de manipulare a matricelor se tasteaz help specfun, help elmat. FUNCII27Se poate defini o matrice in MATLAB pe mai multe cai: Se introduce o lista explicita de elemente. Se ncarc matricea din fiiere de date externe. Se genereaz matricea folosind funcii incluse. Se creaz matricea folosind propriile funcii.

Pentru introducerea unei matrice ca o lista de elemente trebuiesc respectate cteva convenii de baza: Se separ elementele unui rnd cu spatii blanc sau virgule. Se folosete un semn punct si virgula, ;, pentru a indica sfarsitul fiecrui rnd. Se include ntreaga lista intre paranteze ptrate, [ ].

ExempluA = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]

MANIPULAREA MATRICELOR28zeros Matrice doar cu elemente nule ones Matrice doar cu elemente unitate rand Matrice cu elemente aleatoare uniform distribuite randn Matrice cu elemente aleatoare normal distribuite eye Matrice cu elemente nule cu exceptia diagonalei principale plina cu elemente unitate diag Matrice diagonala linspace Vectori cu elemente avand valori distribuite liniar logspace Vectori cu elemente avand valori distribuite logaritmic MATLAB dispune de mai multe funcii de generare a matricilor de baza, cum ar fi: Literatura recomandathttp://www.tmt.ugal.ro/crios/Support/ANPT/Tutoriale/MATLAB_IN_INGINERIE.pdfhttps://www.google.md/?gws_rd=cr&ei=o9ccU7OaKMj9ygPVloH4Bg#q=fundamente+de+matlab29