You are on page 1of 6
Introducere in Matlab ‘MATLAB (MATrix LABoratory) este un limba} de nivel inalt si un medi interactiv dedicat calculului numeric, vizualizirii gi programarii, MATLAB faciliteazi analiza datelor, deavoltarea de algoritmi, crearea de modele §i aplicatii. Limbajul, uneltele si functiile matematice incorporate faciliteaz’ explorarea unor abordari diverse si gisirea unei solufiiintr-un timp mai scurt decat utilizénd aplicatii de calcul tabelar sau limbaje de programere traditionale. Utilizirile tipice includ: matematici\ si calcul numeric, dezvoltare de algoritmi, modelare gi simulare, achizitie de date, analiza a datelor, explorare si vizualizare, dezvoltare de aplicatii (inclusiv construires de interfete grafice cu utilizetorul). MATLAB-ul include o serie de solutii specifice anumitor domenii, numite TOOLBOX-uri. Acestea sunt colectii extinse de functii MATLAB care extind mediul, pentru a rezolva probleme specifice din domenti variate, 1 Functii Matlab de interes general Lansarca in executic a MATLAB-ului sc poate face selectind Matlab din meniul Start al sistemului de operare (Windows). Procedura de lansare in executie aligeaz utilizatorului fereastra de comand unde linia de comands este indicat prin ">>", Informatii referitoare la comenzi Matlab pot fi obtimute utilizand comanda help subject din linia de com mandi sau din fercastra Help a meniului Help. Alte comenzi ajutiitoare sunt whos (afigeea’ informatii despre variabilele din spatiul de lueru), what (afigeazit cales pentru directorul curent si mumele fisicrelor si directoarclor relevante pentru Motlab aflate in directorul curent), sf which (localiaare functil si figere). O alti comand utilé este lookfor eundnt.cdutat ~ pentru a cduta in fisierele help acest cuvant. MATLAB contine de asemenea o varietate de exemple care pot fi afigate utilizand comanda demo. Functii referitoare la timp/data clock ‘Timpul si data curenta sub forma unui vector date Data curenté sub forma de gir de caractere eputime —‘Timpul CPU total (in secunde) utilizat de aplicatia MATLAB din momentul pornisii tic, toe ‘Timer pentru inisurarea timpului de executie a unei seevente de cod. Formate de afigare a numerclor Prin intermediul functiei format, MATLAB-ul pune la dispozitie utiizatorilor dou moduri de control a afigirl valorilor uumerice pe ecran: formatul de afigare si spatierea Comandé ——-Rezultat format short —_reprezentare in virguli ix, 5 ciffe format long _reprezentare in virgulé fix’, 15 cifte format short € notatie stiinified, 5 cifte si exponent format long e notatie gtiimyficd, 15 eifre si exponent format short g reprezentare in virguli ix sau flotanta, 5 cifre format long yreprezentare in virgulé xi sau flotanta, 15 cite format hex reprezentare hexazecimal format + ty spagin format bank format bancar, doua zecimale format rat aproximare rational Comenzi pentru spatiere: format compact suprima linile ibere format loose Sunt disponibile pentru controlul asupra formatului de iegire si functiile sprintf si fprintf Functii speciale si constante ‘Mai multe functfi speciale furnizeazit valoti ale unor constante utile: ans Cel mai recent rispuns care nu a fost atribuit unei variabile pi 3.14159265. i,j Unitatea imaginarit inf Infinit NaN Not a number 2 Matrice gi operatii cu matricele ‘Variabile in Matlab in MATLAB nn sunt necesate declarasii de tip sau de dimeusiune. Ciind se intalneste un now nume de vvariabild, vatiabila se creeu’ automat gi ise alocd spatiu in memorie. Dac variabila existé deja, MATLAB schimba confinutal variabilet existente gi, daci este nocesar, ii aloci mai mult spasit i memorie. Numole variabilelor constau dintr-o litera, unatit de un nunar de litere,cifr, sau caracteral "2. MATLAB este case sensitive (distinge intro litere mati gi litere mici) MATLAB stocheaza variabilele sub forma matricelor de dimensiune Mx N, unde M este numiirul de lini si. numarul de coloane. © matrice de dimensiune 1 x 1 este un scalar; o matrice 1 x N este un voctor linic, si o matrice Af x 1 este tn vector coloand. Elemontele une matrice pot fi numere reale sau comple. De exemplu: Scolar real = >> 2 =5 Scalar complex >> x =5 +10) (sau 2 —5 + 101) Vector line | >>a = [123] (sau z= [1,2,3)) Vector coloank. >> x = [1;2;3] Matrice 3x3 >>7=[123: 456; 789] Dimensiunes. unei variabile se poate obtine utilizand func size si length. Generarea matricelor Existi o serie de functii pentru generarea matricelor clementare: eve Matricea identitate zeros Toate elementele zero ‘ones Toate clementele una rand Blemeute aleatoare cu distributie uniform randn Elemente aleatoare eu distributie nonnali, Vectoni pot fi gencrati utiizdad operatorul ™’. De exemplu, pentru a genera un vector 2 de la 0 Ia 10 cu pasul 0.5: >> x = [0:05 : 10), Comanda linspace poate fi de asemenea ulilizats pentru generarea vectorilor: >> x = linspace(0,10,21) Accesarea elementelor unei matrice Elementele unei matrice pot fi accesate specificand numarul liniet si al coloanei, De exemplu, in matricea specificatit de A= [123; 456; 789}, elementul din prima nie gi a treia coloand poate fi accesat utilizand comanda >> r = A(1,3), rezultdnd valoarea 3, A doua linie poate fi accesatii cu >> y = A(2,:) resultand [45 6), unde ' tnseamnis *returneazi toate elementele coloanei”. O submatrice a lui A constand din linitle 1 si 2 si toate trei coloanele este specifieats do >> z= A(1: 2,1: 3) reaultand (123; 456) Operatii aritmetice asupra matricelor Operate aritmetice de basis asupra matricelor sunt: + adunare — seidere inmulgire * idicare le putere J itmplirite la dreapta \ imparjire la stanga "transpusa fn cogul in care dimensiunes matricelor este incompatlbil, se afigesel, un mesaj de eroare. npiitirea este definittastfel: solufia ecuatiei As = b poate fi calculata utilizdnd operatorul de impirtire la stanga z= A\O gi solutia ecuajiei 2 A = b se poate calcula utilizand operatorul de finplrtire la dreapta 2 = 8/4 dacit matricen, A este inversabili $i dimensiunile matricelor sunt compatibile. Operatiile 2 = A\b sic — b/A sunt in principiu aceleagi ca inv(A) +6, respectiv 6 « inv(A), unde inv(A) caleuleaz’ inversa matricel A, jnsit operatorii de hupirtire la stanga si la dreapta sunt mai eficienti. B= 1000; A = vand(a); b= rand(a,1) tier x= A\ DE tm toe tle; X= laviA}eb; 6 = toe Adunarea gi seiderea a donit matrice implicit operatii aritmetice element-cti-element; inmultirea si impartirea mt. MATLAB farnizeazik operatii aritmetice clement-cu-element, indicate prin utilizarea simbolului ‘/ inainte de operator: + inmultire ridicare la putere imparsire la dreapte impartire la stanga transpuse Diferenta intre inmulfires a dou matrice si inmultirea element-cu-element a dow mattice se poate observa din urmatorul exemplu: me Aa [12 da] OB AA | > Oa AWA 8 B © 13 22 o 16 Operatori relationali < mai mie <= mai mic sau egal > mai mare >= mai mare sau egal == egal ~= diferit Rezultatul apliciri unui operator relational este de tip logic (adevérat (1) sau fals (0)). Daci operatorii se aplici unui scalar rezultatul va fi un scalar, aplicand operatorit asupra matricelor, reaultatul va consta intro matrice cu valori zero si unt Operatori logici & ke si si) sau Spre deosebire de operatorii && ei || care pot fi aplicati doar asupra valorilor scalare gi evalueaz mai intai expresia din stanga, iar daci rezultatul este fals nu se mai evalueazi expresia din dreapta, operatorii &, si pot fi aplicati att asupra valorilor scalare eat si asupra matricelor. 3. Functii matematice cos cosinus ton tangents exp exponential tog —_logaritin natural fogi0 logaritin sqrt ridlicina patrata abs valoare absolutit sign sennn 4 Instructiuni de control Instructiunile de control in Matlab includ: for, while, if si switch, fiecare dintre aceste instructiuni necesitand cuvantul cheie end pentru incheiere. Instructiuni de control logic: a iffelseif/else switch /oase/otherwise, Instructiuni iterative: for while 5 Numere complexe Matlab permite lucrul cu numcrele complexe. Variabilele i si j represinta unitatea itnaginara YT. Metodcle do geuerare a matrivelor complexe includ Bo [1 23.4] 4 tos 6; 78) B= iss 3475. tsi] B= complex({t 253 4), [5 6; 7 81) Functii pentru numere complexe Partea reala a lui >> real(z) Pertea imaginara a lui x >> imag(t) Aiplitudinea (modulul) Ini x >> abs(r) Argumental Lut >> angle(2) Conjugatul complex >> conj(z) 6 Fisiere MATLAB Fisiere M_ MATLAB-ul este un limbaj interpretativ. Pentru a evita sericrea repetats a unei secvente de cod utilizatit pentru realizarea unei functionalitati, capabilitatile Matlab-ului pot fi extinse prin crearea de seripturi si finctii, Ambele utilizeari fisicre m (numite astfel deoarece au extensia .m). Avantajul figierelor m este faptul ea comenzile sunt salvate si pot fi modificate ugor far a fi necesarii reserierea intregi scevente de Fisierele MATLAB seript sunt secvente do comensi serise eu un editor gi salvate intr-um figier m. Nu se acceptit parametri de intrare, nu se returneaz parametri, toate variabilele utilizate sunt: salvate in spatiul de lucru al MATLAB-ului. Pentru rularea scriptului se poste serie in linia de comandii numele fisicrului, spre exemplu penten figierul mume_fisier.m : >> nume.figier. ‘Un al doilea tip de figier m este fisierul funefie. Functille pot accepta parametri de intrare si pot returna parametri. Variabilele interne sunt locale funetiei. Forma general a unei functii este: function lost, out2] = nume.funetie(int , tn2) ‘comands MATLAB 1 ‘Numicle figicrulul m pentru aceastii faneyle va fl numefunctie.m. Prima linie a functiei imcepe cu cuvantul cheie function, si specifica uumele fanetiei si ordinea parametzilor. in acest caz, sunt specificay{ doi parametri de intrare si doi parametri de iesire. Urmstoarele trei linii ineep cu % gt sunt comentarii. Restul fisierului este codul MATLAB care defimeste functia. Funetia poate fi apelata din linia de comandi sau dintr-un alt fisier uel, out2] = nume-functie (in) , In2) Comentariile functiei pot f afigate utilizénd comanda: >> help nume.tunctie Afigarea pe ecran a rezultatelor poate fi suprimati terminand linia cu ''. O line poate fi extins& seriind '..” la sfargitul liniei $i continuand instructiunile pe linia urmiitoare. Figiere mat Figierele nat (denumite astfel datoritit extensici .mat) sunt fisiore binare utilizate pentru a stoca remultate numerice. De exemph, salvarea valorii a dou variabile, var] si var2 intr-un fisier nume.fisier. mat se poate face utilizand comanda: >> save nume.tfisier mat varl var? Selvarea tuturor variabilelor existente in spatiul de lucru al Matlab-ului intr-un figier se poate face utilizand comands: Un fisier mat poate fi incircat in MATLAB prin comanda: >> load nume.fister S> load numefister mat 7 Reprezent&ri grafice MATLAB confine numeroase comenzi pentru generarea graficelor 2D si 3D. plot, fot, stem Reprezentare fune(ii unidimensionale plot’, mesh, surf Reprezentare functit bidimensionale subplot Impartize grafic in mai multe regiuni Exist numeroase comenal pentru personalizarea graficelor prin tithuri, etichete pe axe, etc. Dintre acesten amintim: label, ylabel, title, grid, text, aris, figure, hold on, close(n). Exemplu S& se serie dowd functii pentru generarea unui semnal sinusoidal; una utilizand bucle for gi alta utilizénd vectori. Si se afigeze timpul de executie pentru ambele functii utilizand comenzile tic, toc. ‘at — soidal utilizand buel = enna, for 4 0.9999 X(I #1} = sin(2+piei /100) ‘semnal-sinusoidal2 hernece unui semuel sinusoidal atilizand vector <= cin (2+ pi +[0:9989]/100) ; iieip semaal-sinusoidal Semnal.sinasoidal help semmal.sinusoidal2 sesunal sinusoidal? 8 Exercitii 1, Seviet fometit pentru aljares urmitoarelor semmnale —t/2, te [-2,0) a it) { 2, te (0.3) sin), {-10. pentru urmiitorul sistewn de ecuatii liniare: -2 + 2y—9 br—y+22=9 dry +22 =0 -6 305 422 +a, g(x) = &F —2r-+3 si un fisier script

You might also like