Sunteți pe pagina 1din 6

LUCRAREA NR.

1 MATLAB PREZENTARE GENERAL


Introducere MATLAB este un limbaj foarte performant utilizat n diferite domenii ce necesit calcule laborioase, care combin ntr-un mediu uor de utilizat puterea de calcul, vizualizarea i programarea, problemele i soluiile acestora fiind exprimate ntr-o form matematic familiar. Este utilizat n rezolvarea problemelor ce necesit: - calcule matematice; - dezvoltarea algoritmilor; - modelare i simulare; - analiza datelor i vizualizarea lor; - grafice tiinifice i inginereti; - dezvoltarea de aplicaii incluznd construirea de interfee grafice pentru utilizatori etc. MATLAB este un sistem interactiv al crui element de baz este un tablou a crui dimensiune nu este necesar s fie specificat. Acest lucru permite rezolvarea un probleme tehnice de calcul foarte complicate ntr-un timp mult mai scurt dect cel necesar ntr-un limbaj scalar neinteractiv cum este limbajul PASCAL sau limbajul C. MATLAB-ul prezint familii de soluii cu aplicaii specifice numite TOOLBOXES. Acestea permit nvarea i aplicarea unor tehnologii specializate i constau din colecii de funcii MATLAB ce extind mediul MATLAB pentru rezolvarea unor clase specifice de probleme. Domeniile n care toolbox-urile sunt disponibile include procesarea semnalelor, sistemele automate, reelele neuronale, logica fuzzy, simulri, achiziii de date, baze de date i multe altele. Sistemul MATLAB const din cinci pri principale: Mediul de lucru este un set de instrumente i faciliti necesare n utilizarea funciilor i fiierelor MATLAB. Multe din aceste instrumente sunt interfee utilizator grafice, aa numitele GUI (graphical user interfaces). El include desktop-ul MATLAB, fereastra de comand (Command Window), o istorie a comenzilor i browsere pentru HELP, WORKSPACE (spaiul de lucru), fiiere i ci de cutare. Biblioteca de funcii matematice MATLAB este o colecie vast de algoritmi de calcul ncepnd de la funcii elementare cum ar fi sum, sinus, cosinus etc., i pn la funcii foarte complexe cum ar fi calculul valorilor proprii, funcii Bessel sau transformata Fourier rapid. Limbajul MATLAB este un limbaj de nivel nalt, orientat pe obiecte, avnd ca element de baz tabloul. Poate fi utilizat att pentru aplicaii mici, mai puin importante ct i pentru aplicaii foarte complexe. Manipulatorul grafic este sistemul grafic al MATLAB-ului ce cuprinde comenzi de nivel nalt pentru vizualizarea datelor n plan sau n spaiu, procesarea imaginilor, animaie i prezentare grafic. Interfaa program pentru aplicaii este o bibliotec ce permite scrierea de programe n C sau FORTRAN i care interacioneaz cu MATLAB-ul. Pentru lansarea n execuie a MATLAB-ului se d dublu clic pe icoana shortcut din desktop-ul WINDOWS. Dup lansare pe ecran apare desktop-ul MATLAB ce conine instrumentele (interfee grafice) pentru lucrul cu fiiere, variabile i aplicaii asociate MATLAB-ului, prezentat n figura urmtoare: 1

Documentaie, demo-uri i instrumente MATLAB

HELP

Vizualizare i modificare director curent

Fereastra de comand unde se introduc funciile MATLAB

Istoria comenzilor utilizate

Comutare n spaiul de lucru

Pentru a lucra cu MATLAB-ul este necesar nelegerea urmtoarelor aspecte: Workspace (spaiul de lucru) este setul de variabile ce sunt pstrate n memorie n timpul unei sesiuni de lucru. Se poate folosi browser-ul Workspace din meniul VIEW pentru a vizualiza aceste variabile. Search path (calea de cutare) sunt directoarele n care MATLAB-ul caut fiierele ce trebuie executate precum i funciile folosite de acestea. Lucrul cu fiierele se realizeaz folosind browser-ul Current Directory sau funciile echivalente. Setarea directorului curent i a cilor de cutare Lucrul cu fiiere n MATLAB se realizeaz utiliznd directorul curent i cile de cutare ca puncte de referin. Orice fiier pentru a putea fi rulat trebuie s se afle n directorul curent sau ntr-o cale de cutare. Din meniul Current Directory poate fi modificat directorul de lucru. Pentru adugarea unei noi ci de cutare se selecteaz comanda Set Path. . . din meniul FILE. De asemenea pot fi utilizate o serie de comenzi pentru setarea sau obinearea unei ci de cutare. Acestea sunt urmtoarele: 2

path - afieaz cile de cutare n care se poate afla fiierul ce trebuie rulat path newpath - modific calea de cutare pentru a utiliza acele directoare indicate de newpath path(path,'newpath') adaug o nou cale de cutare la cele existente p = path(...) returneaz calea specificat ntre paranteze n variabila p Fereastra de comand Command Window (fereastra de comand) este principalul mod de comunicare cu MATLAB-ul. Este utilizat pentru a rula funcii MATLAB (denumite i comenzi), a introduce variabile i de a realiza operaii MATLAB. Pentru a vizualiza fereastra de comand se selecteaz comanda Command Window din meniul VIEW. Prompterul (<<) din Command Window indic faptul c MATLAB-ul este gata pentru a primi comenzi. n acest moment poate fi introdus o variabil sau rulat o funcie. Spre exemplu pentru a crea o matrice 3x3 se tasteaz n linia de comand : A=[1 2 3;4 5 6;7 8 9] Dup apsarea tastei Enter, MATLAB-ul rspunde cu: A= 1 2 3 4 5 6 7 8 10 Pentru a rula o funcie, se tasteaz numele acesteia mpreun cu lista de argumente i se d Enter. Dac se dorete introducerea mai multor linii nainte de a le rula, se tasteaz Shift+Enter dup fiecare linie. Istoricul comenzilor utilizate Pentru a obine intrrile i ieirile folosite ntr-o sesiune de lucru, se utilizeaz funcia diary . Sintaxa acesteia este urmtoarea: diary('filename') unde filename este un fiier ASCII n care sunt salvate toate comenzile utilizate precum i rezultatele rulrii programelor (cu excepia graficelor). Dac acesta nu este specificat, MATLAB-ul creeaz un fiier cu numele diary n directorul curent. Pentru a opri nregistrarea comenzilor n acest fiier se tasteaz comanda diary off. Reluarea salvrii comenzilor se face cu diary on. O alt posibilitate de a vizualiza comenzile folosite este utilizarea ferestrei Command History accesibil din meniul VIEW. Crearea, deschiderea i rularea unui fiier Pentru a crea un nou fiier se selecteaz opiunea New din meniul FILE i se selecteaz tipul fiierului care se dorete a fi creat (M-file pentru un fiier MATLAB). Va apare un fieier Untitled (fr nume) care pentru a fi denumit trebuie salvat folosind opiunile Save (pentru salvare n directorul curent) sau Save as . . . (pentru salvare n alt director) din meniul FILE. La numele fiierului se adaug n mod automat extensia .m. Pentru a deschide un fiier deja existent se utilizeaz opiunea Open din meniul FILE. Funciile MATLAB echivalente acestor opiuni sunt edit i open. Pentru a rula programul editat ntr-un fiier MATLAB, se tasteaz numele acestuia fr extensie n fereastra de comand. Este obligatoriu ca fiierul i funciile utilizate n program s se afle n directorul curent sau n cile de cutare ale MATLAB-ului .

Lucrul cu tablouri n MATLAB Tabloul bidimensional (matricea) este elementul de baz al MATLAB-ului. Exist foarte multe operaii cu tablouri definite n MATLAB. Iat cteva dintre ele: Crearea unui tablou: Urmtoarele instruciuni: u = [3; 1; 4] v = [2 0 -1] A=[1 2 3;4 5 6;7 8 9] s=7 creeaz un vector coloan, un vector linie, o matrice 3x3 i un scalar: u= 3 1 4 v= 2 0 -1 A= 1 2 3 4 5 6 7 8 10 s= 7 Adunarea i scderea a dou matrici impun restricia ca cele dou tablouri s aib aceleai dimensiuni, n caz contrar aprnd urmtorul messaj de eroare: Error using ==> + Matrix dimensions must agree Forma instruciunilor este urmtoarea: X=A+B Y = X A Produsul a dou matrici este reprezentat de un asterix: X = A*B iar transpusa unei matrici printr-un apostrof: X=A. Matricea unitate este obinut cu instruciunea eye(m,n) unde m este numrul de linii i n numrul de coloane. Rangul, determinantul i inversa unei matrici sunt date de instruciunile rank(A), det(A) i respectiv inv(A). Calculul valorilor proprii i al polinomului caracteristic pentru o matrice se face cu instruciunile: eig(A), poly(A) Pentru afiarea grafic a unor rezultate trebuie utilizat funcia plot(x, y) unde x i y sunt doi vectori de dimensiuni egale, x axa absciselor, y axa ordonatelor. Se pot terge rnduri sau coloane dintr-o matrice utiliznd o pereche de paranteze drepte. Dac, de exemplu, X este o matrice 4x4: X= 16 3 2 13 5 3 11 8 9 3 7 12 4 3 14 1 Atunci pentru a terge a dou coloan a lui X se utilizeaz expresia : X(:,2) = [] Matricea obinut este urmtoarea:

X= 16 2 13 5 11 8 9 7 12 4 14 1 MATLAB are patru funcii care genereaz matrici de baz: zeros (genereaz o matrice de zerouri), ones (genereaz o matrice n care toate elementele au valoarea 1), rand (genereaz o matrice de numere aleatoare distribuite uniform ntre 0 i 1) i randn (genereaz o matrice de numere aleatoare normal distribuite). Uneori este necesar ca unele operaii cu tablouri s se fac element cu element. Adunarea i scderea sunt la fel ca n cazul matricilor obinuite, ns operaiile multiplicative sunt diferite. MATLAB-ul utilizeaz un punct n faa semnului obinuit pentru operaia ce trebuie executat. Aceste operaii sunt urmtoarele: + Adunarea - Scderea .* nmulirea element cu element ./ mprirea element cu element .\ mprirea la stnga element cu element .^ Ridicarea la putere element cu element .' Transpunerea unei matrici fr conjugare De exemplu, dac avem urmtoarea matrice: A= 3 3 3 3 atunci operaia A*A va da rezultatul: ans = 18 18 18 18 iar operaia A .* A va da rezultatul: ans = 9 9 9 9 Matricile i scalarii pot fi combinai n cteva moduri. Astfel, un scalar poate fi sczut dintr-o matrice prin scderea din fiecare element al matricii. B = A - 8.5 Dac dorim s dm o valoare oarecare anumitor elemente dintr-o matrice, se poate folosi expresia urmtoare: B(1:2,2:3) = 0 care face zero elementele de la intersecia liniilor 1 i 2 cu coloanele 2 i 3 B= 7.5 0 0 4.5 -3.5 0 0 -0.5 0.5 -2.5 -1.5 3.5 -4.5 6.5 5.5 -7.5 Funcia find determin indicii elementelor unui tablou care ndeplinesc o anumit condiie. Expresia k = find(X) returneaz indicii elementelor diferite de zero din matricea X. Sau k = find(isprime(A))' determin poziiile elementelor prime din matricea A.

TEM: 1. S se creeze un director de lucru n care se vor salva fiierele create la laborator. 2. S se deschid un fiier de tipul diary n care s fie nregistrate toate comenzile i rezultatele sesiunii de lucru. 3. S se realizeze un program pentru calculul sumei, diferenei i produsului a dou matrici. 4. S se realizeze un program care calculeaz rangul, determinantul, inversa, valorile proprii i polinomul caracteristic ale unei matrici. 5. Folosind instruciunea help nume_instruciune s se determine sintaxa instruciunilor FOR, IF, WHILE, SWITCH i s se realizeze un program care calculeaz suma elementelor unei matrici 4x4. 6. S se realizeze un program pentru rezolvarea unui sistem de trei ecuaii liniare cu trei necunoscute. 7. S se realizeze un program pentru calculul normei unui vector. 8. S se realizeze un program care calculeaz produsul scalar a doi vectori. 9. S se traseze grafic funciile sinus (sin), cosinus (cos), tangent (tan) i arctangent (atan). 10. S se realizeze un program pentru calculul numerelor prime mai mici de 1000. 11. S se genereze 1000 de numere aleatoare ntre 0 i 10 i s se calculeze media acestora. 12. S se realizeze un program pentru calculul lui n! 13. Folosind funcia polyval i polyvalm s se realizeze un program care calculeaz valoarea unui polinom ntr-un punct i valoarea unui polinom ce are ca argument o matrice. De asemenea s se calculeze rdcinile polinomului folosind funcia roots. 14. S se realizeze un program care calculeaz produsul a dou polinoame.

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