Documente Academic
Documente Profesional
Documente Cultură
HELP
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.