Matlab

download Matlab

of 110

Transcript of Matlab

Matlab11 Lansarea aplicaiei Matlab........................................................................................... 4 2 Elementele limbajului Matlab..................................................................................... 7 2.1 Constante .............................................................................................................. 7 2.2 Variabile............................................................................................................... 7 2.3 Operatori aritmetici. Expresii aritmetice .............................................................. 8 2.4 Operatori relaionali. Expresii relaionale ............................................................ 8 2.5 Operatori booleeni. Expresii booleene................................................................. 9 2.5.1 Operatori booleeni ce conecteaz expresii relaionale .................................. 9 2.5.2 Operatori booleeni ce acioneaz asupra scalarilor i elementelor de matrice................................................................................................................................ 9 2.6 Vectori i matrice............................................................................................... 10 2.6.1 Generarea vectorilor .................................................................................... 11 2.6.2 Lucrul cu matrice mprite n blocuri......................................................... 12 2.6.3 Concatenarea matricelor .............................................................................. 12 2.6.4 Funcii ce creaz matrice speciale............................................................... 13 2.6.5 Modificarea dimensiunilor matricelor......................................................... 13 2.7 Vectori de celule................................................................................................. 14 2.8 Structuri .............................................................................................................. 14 2.9 Funciile load i save .......................................................................................... 14 2.10Introducerea datelor de la tastatur................................................................. 15 2.11Funcii pentru lucrul cu iruri de caractere ...................................................... 15 3 Instruciuni Matlab .................................................................................................... 16 3.1 Instruciunea for................................................................................................. 16 3.2 Instruciunea while............................................................................................. 16 3.3 Instruciunile continue i break .......................................................................... 16 3.4 Instruciunea if .................................................................................................... 16 3.5 Instruciunea switch ............................................................................................ 17 4 Funcii ........................................................................................................................ 18 4.1 Definirea funciilor............................................................................................. 18 4.2 Instruciunea global ............................................................................................ 18 4.3 Variabile handle de funcii................................................................................. 19 4.4 Vectorizarea funciilor ........................................................................................ 20 5 Reprezentri grafice .................................................................................................. 21 5.1 Reprezentarea curbelor plane............................................................................. 21 5.2 Editarea unei figuri............................................................................................. 27 5.3 Modificarea interactiv a proprietilor obiectelor grafice................................. 28 5.3.1 Modificarea proprietilor axelor ................................................................ 29 5.3.2 Modificarea proprietilor curbelor............................................................. 31 5.4 Modificarea programat a proprietilor obiectelor grafice............................... 35 5.4.1 Obiectul Figure ............................................................................................ 36 5.4.2 Obiectul Axes .............................................................................................. 36 5.4.3 Obiectul Line............................................................................................... 37 5.4.4 Obiectul Text............................................................................................... 37 5.4.5 Modificarea proprietilor obiectelor grafice .............................................. 38 6 Transformata Fourier discret a unui semnal ............................................................ 42 7 Integrarea ecuaiilor difereniale ordinare................................................................. 44 8 Filtre numerice .......................................................................................................... 48 9 Interfee grafice......................................................................................................... 50 9.1 Construirea unei interfee grafice cu aplicaia GUIDE ...................................... 50 9.2 Programarea interfeei grafice ............................................................................ 64 210 Calcul simbolic ........................................................................................................ 73 10.1 Definirea variabilelor i funciilor simbolice................................................... 73 10.2 Substituii......................................................................................................... 75 10.3 Reprezentareasimbolic a numerelor............................................................. 77 10.4 Definirea de variabile simbolice reale i complexe .......................................... 78 10.5 Matrice simbolice............................................................................................. 79 10.6 Crearea de funcii abstracte .............................................................................. 82 10.7 Reprezentarea grafic a funciilor .................................................................... 82 11 Funcii pentru calcule simbolice............................................................................. 86 11.1Derivarea......................................................................................................... 86 11.2Limite de funcii .............................................................................................. 88 11.2.1 Calculul limitelor de funcii ...................................................................... 88 11.2.2 Calculul limitelor laterale .......................................................................... 89 11.3Integrarea......................................................................................................... 90 11.3.1 Calculul integralei nedefinite .................................................................... 90 11.3.2 Calculul integralei definite ........................................................................ 90 11.3.3 Calculul integralelor ce depind de un parametru....................................... 92 11.4Calculul sumelor............................................................................................. 92 11.5Dezvoltarea n serie Taylor............................................................................. 93 11.6Simplificri i substituii................................................................................. 94 12Operaii cu polinoame ............................................................................................ 96 13Algebr liniar ........................................................................................................ 99 14 Rezolvarea simbolic a ecuaiilor algebrice .......................................................... 101 15 Rezolvarea ecuaiilor difereniale ordinare .......................................................... 104 16 Transformri integrale........................................................................................... 106 16.1Transformata Fourier..................................................................................... 106 16.2Transformata Laplace .................................................................................... 107 16.3Transformata Z .............................................................................................. 108 31 Lansarea aplicaiei MatlabLansarea aplicaiei Matlab se face: cu un clic pe icoana aplicaiei sau, cu un clic pe butonul Start i apoi pe opiunea Programs; n lista de aplicaii afiate se execut un clic pe aplicaia Matlab.Fereastra aplicaiei Matlab este cea din Figura 1. Ea cuprinde 2 ferestre: fereastra de comenzi (Command Window) unde se introduc instruciunile Matlab, fereastra cu instruciunile introduse anterior, (Command History).Figura 1. Fereastra aplicaiei Matlab.Este posibil de a afia i alte ferestre: directorul de lucru Matlab, Lanch Pad ce permite lansarea altor aplicaii, Simulink, biblioteci de aplicaii.Afiarea acestor ferestre se face cu opiunile meniului View.Meniurile aplicaiei Matlab au, n general, opiunile cunoscute. Meniul File, artat n Figura 2, are opiunile: New, crearea unui fiier nou, Open, pentru a deschide un fiier existent Close Command History, nchide fereastra Command History, Page Setup, alege opiunile de tiprire a ferestrei active, Print, tiprete ferestra activ, Exit Matlab, nchide aplicaia Matlab.4Sunt afiate de asemenea ultimele 4 fiiere deschise.Aplicaia Matlab poate fi nchis i tastnd comanda quit n fereastra de comenzi.Menuil File Meniul EditFigura 2. Meniurile File i Edit ale aplicaiei Matlab.Meniul Edit conine opiunile cunoscute: Undo, anuleaz ultima comand, Redo, execut ultima comand, Cut, mut textul selectat n Clipboard, Copy, copiaz textul selectat n Clipboard, Paste, copiaz textul din Clipboard, Select All, selecteaz tot textul ferestrei active, Find, permite cutarea n text a unui ir de caractere, Clear Command Window, terge coninutul ferestrei de comenzi, Clear Command History, terge coninutul ferestrei cu comenzile introduse.MenuiView, afiat nFigura3, areopiuni deafiaresauascundereadiverselor ferestre: Command Window, afiaz ferestra de comenzi, Command History, afiaz ferestra cu comenzile precedente, Current Directory, afiaz directorul de lucru, Workspace, afiaz spaiile de lucru, Launch Pad, afiaz un director ce permite lansarea altor aplicaii, Simulink, biblioteci de aplicaii, etc, vezi Figura 3.Fiecare fereastrareunbutonde nchidere , i un buton care mut fereastra respectiv n afara Ferestrei Matlab.5Meniul View Fereastra Launch PadFigura 3. Meniul View al aplicaiei Matlab.Bara de instrumente a aplicaiei Matlab este artat n Figura 4. O parte din butoane corespund opiunilor meniurilor File i Edit.Figura 4. Bara de instrumente a aplicaiei Matlab.Semnificaia butoanelor este cea din Tabelul 1.Buton SemnificaieCrearea unui nou fiier .m Deschide un fiierCut Copy Paste Undo Redo Lansare Simulink Help Selectarea directorului curent Alegerea unui nou director curentTabelul 1. Butoanele barei de instrumente a aplicaiei Matlab.62 Elementele limbajului Matlab2.1 ConstanteConstantele 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 cu1 j i . Numrul complex a+bi se scriea+bi, a+bjSe poate defini o variabil complex,de exemplu1 s , cu instruciuneas=sqrt(-1)In acest caz numrul complex a+bi se scriea+b*sSiruri de caractereSirurile de caractere se scriu ntre ' (apostrofuri). De exemplu irul abc se scrie'abc'Dac n ir apare caracterul ' acesta se scrie ca '' (dou apostrofuri). De exemplu, irul a'b se scrie'a''b'InMatlabexistctevaconstantepredefinite: pi, eps, NaN, Inf, realmin, realmax. Semnificaia lor este cea din Tabelul 2.Constanta Semnificaiapi epsprecizia calculelor, 2-52 Inf NaN (not-a-number)este rezultatul operaiilor 0/0,-, /realmincel mai mic numr real reprezentabil, 2-1022

realmaxcel mai mare numr real reprezentabil, 21023

i, junitatea imaginarTabelul 2. Constante predefinite n Matlab.2.2 VariabileNumele de variabile sunt formate din litere i cifre i ncep cu o liter.Variabilele sunt create automat la ntlnirea unui nounume. Variabilele sunt iniializate cu instruciuni de formaident = expresieMenionm c literele mici sunt diferite de literele mari. De exemplu, variabila x este diferit de variabila X.Pentru a afia valoarea unei variabila se tasteaz numele ei.72.3 Operatori aritmetici. Expresii aritmeticeOperatorii aritmetici utilizai n Matlab sunt :+, -, *, /, \, ^Operatori, +, -,*, /,suntceipatru operatori aritmetici cunoscui.Operaia a \ b se definete caba*1Operatorul ^ este ridicarea la putere. Expresia a^ b estebaFunciile matematice uzuale sunt cele de mai jos:sin asin sqrt exp abs realcos acos log imagtan atan log10Prioritile operatorilor sunt cele cunoscute.Operatorii + i unari au cea mai mare prioritate, urmai de operatorii *, /, \, ^, iar operatorii + i binari au cea mai mic prioritate. Operatorii unari sunt asociativi la dreapta, operatorii binari sunt asociativi este la stnga. De exemplu, expresia 2^2^3 = (2^2)^3 i are rezultatul 64. Exemple de expresii aritmetice i valorile lor sunt artate n Tabelul 3.Expresie aritmetic Valoare2 ^ 2.5 5.65694 / 3 1.33334 \ 3 0.758 / 4 / 2 = (8 / 4) / 2 13.3 ^ 2 ^ 1.5=(3.3 ^ 2) ^ 1.5 35.9370Tabelul 3. Expresii aritmetice.In cadrul expresiilor aritmetice se pot utiliza paranteze rotunde, (), pentru a modifica prioritile operatorilor. Pentru a suprima afiarea rezultatelor, la sfritul unei instruciuni se scrie operatorul;Continuarea unei instruciuni pe mai multe linii se face cu operatorul 2.4 Operatori relaionali. Expresii relaionaleOperatorii relaionali din Matlab sunt:< , >=, = =, ~=Oexpresie relaional este format din dou expresii aritmetice separate de un operatorrelaional. Rezultatuluneiexpresii relaionale este adevratsau fals ce au valorile 1 i repectiv 0. Prioritatea oricrui operator aritmetic este mai mare dect cea a operatorilor relaionali.Exemple de expresii relaionale i valorile lor sunt prezentate n Tabelul 4.Expresie relaional Valoare2 ~= 2 02 < 7 13 < -5 0Tabelul 4. Expresii relaionale.82.5 Operatori booleeni. Expresii booleene2.5.1 Operatori booleeni ce conecteaz expresii relaionaleAceti operatori sunt &&, || i ~ i reprezint operatorii i (and), sau (or) i respectiv nu(not). Sunt predefinite constantele booleenetrueifalseceauvalorile 1i repectiv 0. Operatorul ~ este unar i are aceeai prioritate ca i operatorii + i unari. Prioritilecelorlali operatori booleeni sunt respectiv&&i||. Prioritateaoricrui operator aritmetic sau relaional este mai mare dect cea a operatorilor booleeni && i ||. Inscriereaexpresiilorbooleenesepotutilizaparantezerotunde, (i),pentrua grupa termeni.Exemple. Fie variabilele a i b cu valorilea = 2b = 3Expresii booleene cu aceste variabile i valoarea lor sunt prezentate n Tabelul 5.Expresie booleean Valoarea < 5 && b < 7 1a > 5 && b < 7 0a > 0 || b + 1 > 2 1~(1 > -1) 0Tabelul 5. Expresii booleene.In scrierea expresiilor booleene sunt utile teoremele lui De Morgan:~(a || b) = ~a && ~b~(a && b) = ~a || ~b2.5.2 Operatori booleeni ce acioneaz asupra scalarilor i elementelor de matriceAcetioperatorisunt&,| i~.i reprezint operatorii i, sau i respectiv nu. Orice numr diferit de0esteconsiderat creprezintvaloareaadevrat, oricenumr 0 reprezint valoarea fals. Operatorul ~ este unar i are aceeai prioritate ca i operatorii + i unari. Operatorii & i | sunt operatori binari. Prioritile lor sunt respectiv & i | i mai mici dect cele ale operatorilor aritmetici. Exemple de expresii booleene sunt prezentate n Tabelul 6.Expresie boolean Valoare~1 0~5.2 0~-7.4 0~0 1a & ~ a 0a | ~a 1~1 > -1 1Tabelul 6. Expresii booleene.PrioritileiasociativitateaoperatorilordinMatlabsuntceleartatenTabelul 7. Operatorii sunt scrii n ordinea prioritii.9Operator Asociativitate+unar, - unar, ~ dreapta*, /, \, ^stnga+binar, - binar stnga&, |stnga=, = =, ~=stnga&&, ||stngaTabelul 7. Prioritile i asociativitatea operatorilor.2.6 Vectori i matriceDefinireaunuivectorsaua uneimatriceseface scriind elementele ntreparanteze drepte, []. Operatorul [ ] se va numi operator de concatenare. Exemplu de vector[-1.3, sqrt(3), (1+2)*4/5]Caracterele , i spaiu separ coloanele.Caracterele;iCR(cariage return) separ liniile. De exemplu,A = [1, 2, 3 ;4 5 67 8 9]definete o matrice cu 3 linii i 3 coloane.Indicii vectorilor i matricelor ncep de la 1. Elementulijaa matricei a se scrie a(i, j).Operaiile cumatrice seefectueaz cuoperatorii +, -, *, /, \, ^, .*, ./, .\ i .^. Semnificaia operatorilor +, -, * este cea de adunare, scdere i nmulire a matricelor cu dimensiuni corespunztoare.Semnificaia celorlali operatori este cea din Tabelul8.Operator Exemplu Semnificaie/ a/b a * inv(b)\ a\b inv(a) * b^ a^bba.* c=a.*bij ij ijb a c * ./ c = a / bij ij ijb a c / .\ c = a.\bij ij ija b c * .^ c = a ^ bij ij ijb a c ^ Tabelul 8. Operaii cu matrice.In cazul operatorului ^, unul dintre operanzi trebuie s fie scalar.Funcia length(x)are ca rezultat lungimea vectorului x. Funcia [m n] = size(A) are ca rezultat o matrice cu o linie i dou coloane cu dimensiunile matricei A, m i n.Transpusa unei matrice se calculeaz cu operatorul '. Funciadet(A)calculeaz determinantul matricei A, iar funcia inv(A)calculeazinversamatricei A. In cazul n care matricea este singular sau aproape singular, se afiaz un mesaj de eroare.10Operatorii booleeni ~, & i | se aplic asupra elementelor matricelor.Exemple. Fie matricelea = [ 01b = [1223]i 3 4]Expresia ~b are rezultatul[0 0 0 0]Expresia a & b are rezultatul[0 1 1 1]iar expresia a | b are rezultatul[1 1 1 1]Funciile matematice uzuale, sin, cos, etc., pot avea ca argumente vectori i matrice. Inacestcazfunciaseaplicasuprafiecrui component alvectorului saumatricei (vectorizarea funciilor). Fie de exemplu matriceaA = [1 2 ;3 4] Avem rezultatele :sin(A) = [0.84150.9093 ;0.1411-0.7568] log(A) = [0 0.6931 ;1.09861.3863]2.6.1 Generarea vectorilorSe pot genera vectori ale cror elemente cresc cu o valoare dat cu operatorul:. In prima form, expresiavi : vfgenereaz un vector cu primul element vi i urmtoarele elemente cu valorile vi + 1, vi + 2, , pn la ultimul element ce are valoare , citete o valoarede la tastatur, o atribuie varabilei a i o afiaz pe ecran, ca mai josa>-2.52.11 Funcii pentru lucrul cu iruri de caractereFunciileurmtoaresunt utile lascrierea unor mesaje.Funcia num2str convertete numere n iruri de caractere. Formele funciei suntnum2str(x)inum2str(x, n)undexestenumrul convertit saumatricea convertitnir decaractereiar n specific numrul maxim de cifre semnificative convertite. Exemplu. num2str(2.3134)convertete numrul 2.3134 n irul '2.3134', n timp ce num2str(2.3134, 3)convertete numrul 2.3134 n irul '2.31'. Exemplunum2str(rand(1, 2), 3)convertete argumentul, matricea rand(1, 2), n irul de caractere'0.821 0.445'Funcia str2num convertete un ir de caractere ntr-o matrice. Forma funciei estestr2num(s)unde s este irul ce va fi convertit n numr. Exemplu. Fie instruciuneax = str2num('2.5') + str2num('-3.7')Se convertesc irurile de caractere n numere i rezultatul estex = -1.2000153 Instruciuni Matlab3.1 Instruciunea forInstruciunea for are formafor ident = vi:r:vfbloc de instruciuniendInstruciunea for execut blocul de instruciuni repetat cu variabila ident lund valorile vi, vi + r, vi + 2*r, ...att timp ct ident 0. Funcia 1(t) este funcia treapt unitar( )'>