Sunteți pe pagina 1din 6

LUCRAREA NR.

MATLAB – PREZENTARE GENERALĂ

Introducere

MATLAB este un limbaj foarte performant utilizat în diferite domenii ce necesită calcule
laborioase, care combină într-un mediu uşor de utilizat puterea de calcul, vizualizarea şi
programarea, problemele şi soluţiile 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 ştiinţifice şi inginereşti;
- dezvoltarea de aplicaţii incluzând construirea de interfeţe grafice pentru utilizatori etc.
MATLAB este un sistem interactiv al cărui element de bază este un tablou a cărui
dimensiune nu este necesar să fie specificată. Acest lucru permite rezolvarea un probleme tehnice
de calcul foarte complicate într-un timp mult mai scurt decât cel necesar într-un limbaj scalar
neinteractiv cum este limbajul PASCAL sau limbajul C.
MATLAB-ul prezintă familii de soluţii cu aplicaţii specifice numite TOOLBOXES. Acestea
permit învăţarea şi aplicarea unor tehnologii specializate şi constau din colecţii de funcţii MATLAB
ce extind mediul MATLAB pentru rezolvarea unor clase specifice de probleme. Domeniile în care
toolbox-urile sunt disponibile include procesarea semnalelor, sistemele automate, reţelele
neuronale, logica fuzzy, simulări, achiziţii de date, baze de date şi multe altele.
Sistemul MATLAB constă din cinci părţi principale:

Mediul de lucru – este un set de instrumente şi facilităţi necesare în utilizarea funcţiilor şi fişierelor
MATLAB. Multe din aceste instrumente sunt interfeţe utilizator grafice, aşa numitele GUI
(graphical user interfaces). El include desktop-ul MATLAB, fereastra de comandă (Command
Window), o istorie a comenzilor şi browsere pentru HELP, WORKSPACE (spaţiul de lucru), fişiere
şi căi de căutare.

Biblioteca de funcţii matematice MATLAB – este o colecţie vastă de algoritmi de calcul începând de
la funcţii elementare cum ar fi sumă, sinus, cosinus etc., şi până la funcţii foarte complexe cum ar fi
calculul valorilor proprii, funcţii Bessel sau transformata Fourier rapidă.

Limbajul MATLAB – este un limbaj de nivel înalt, orientat pe obiecte, având ca element de bază
tabloul. Poate fi utilizat atât pentru aplicaţii mici, mai puţin importante cât şi pentru aplicaţii foarte
complexe.

Manipulatorul grafic – este sistemul grafic al MATLAB-ului ce cuprinde comenzi de nivel înalt
pentru vizualizarea datelor în plan sau în spaţiu, procesarea imaginilor, animaţie şi prezentare
grafică.

Interfaţa program pentru aplicaţii – este o bibliotecă ce permite scrierea de programe în C sau
FORTRAN şi care interacţionează cu MATLAB-ul.
Pentru lansarea în execuţie a MATLAB-ului se dă dublu clic pe icoana shortcut din desktop-ul
WINDOWS. După lansare pe ecran apare desktop-ul MATLAB ce conţine instrumentele (interfeţe
grafice) pentru lucrul cu fişiere, variabile şi aplicaţii asociate MATLAB-ului, prezentat în figura
următoare:

1
Documentaţie, Vizualizare şi Fereastra de comandă
demo-uri şi modificare director unde se introduc
instrumente HELP curent funcţiile MATLAB
MATLAB

Istoria Comutare în
comenzilor spaţiul de
utilizate lucru

Pentru a lucra cu MATLAB-ul este necesară înţelegerea următoarelor aspecte:


Workspace (spaţiul de lucru) – este setul de variabile ce sunt păstrate î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 căutare) – sunt directoarele în care MATLAB-ul caută fişierele ce
trebuie executate precum şi funcţiile folosite de acestea.
Lucrul cu fişierele – se realizează folosind browser-ul Current Directory sau funcţiile
echivalente.

Setarea directorului curent şi a căilor de căutare

Lucrul cu fişiere în MATLAB se realizează utilizând directorul curent şi căile de căutare ca


puncte de referinţă. Orice fişier pentru a putea fi rulat trebuie să se afle în directorul curent sau
într-o cale de căutare. Din meniul Current Directory poate fi modificat directorul de lucru. Pentru
adăugarea unei noi căi de căutare se selectează comanda Set Path. . . din meniul FILE. De
asemenea pot fi utilizate o serie de comenzi pentru setarea sau obţinearea unei căi de căutare.
Acestea sunt următoarele:

2
path - afişează căile de căutare în care se poate afla fişierul ce trebuie rulat
path newpath - modifică calea de căutare pentru a utiliza acele directoare indicate de ‘newpath’
path(path,'newpath') – adaugă o nouă cale de căutare 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 funcţii MATLAB (denumite şi comenzi), a introduce
variabile şi de a realiza operaţii 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 funcţie. 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ă apăsarea tastei Enter, MATLAB-ul răspunde cu:
A=
1 2 3
4 5 6
7 8 10
Pentru a rula o funcţie, se tastează numele acesteia împreună cu lista de argumente şi se dă
Enter. Dacă se doreşte introducerea mai multor linii înainte de a le rula, se tastează Shift+Enter
după fiecare linie.

Istoricul comenzilor utilizate

Pentru a obţine intrările şi ieşirile folosite într-o sesiune de lucru, se utilizează funcţia
diary . Sintaxa acesteia este următoarea:
diary('filename')
unde filename este un fişier ASCII în care sunt salvate toate comenzile utilizate precum şi
rezultatele rulării programelor (cu excepţia graficelor). Dacă acesta nu este specificat, MATLAB-ul
creează un fişier cu numele diary în directorul curent. Pentru a opri înregistrarea comenzilor în acest
fişier se tastează comanda diary off. Reluarea salvării 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 fişier

Pentru a crea un nou fişier se selectează opţiunea New din meniul FILE şi se selectează
tipul fişierului care se doreşte a fi creat (M-file pentru un fişier MATLAB). Va apare un fieşier
Untitled (fără nume) care pentru a fi denumit trebuie salvat folosind opţiunile Save (pentru salvare
în directorul curent) sau Save as . . . (pentru salvare în alt director) din meniul FILE. La numele
fişierului se adaugă în mod automat extensia ‘.m’.
Pentru a deschide un fişier deja existent se utilizează opţiunea Open din meniul FILE.
Funcţiile MATLAB echivalente acestor opţiuni sunt edit şi open.
Pentru a rula programul editat într-un fişier MATLAB, se tastează numele acestuia fără
extensie în fereastra de comandă. Este obligatoriu ca fişierul şi funcţiile utilizate în program să se
afle în directorul curent sau în căile de căutare ale MATLAB-ului .

3
Lucrul cu tablouri în MATLAB

Tabloul bidimensional (matricea) este elementul de bază al MATLAB-ului. Există foarte


multe operaţii cu tablouri definite în MATLAB. Iată câteva dintre ele:
Crearea unui tablou:
Următoarele instrucţiuni:
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 scăderea a două matrici impun restricţia ca cele două tablouri să aibă aceleaşi
dimensiuni, în caz contrar apărând următorul messaj de eroare:
Error using ==> +
Matrix dimensions must agree
Forma instrucţiunilor este următoarea:
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 obţinută cu instrucţiunea eye(m,n) unde m este numărul de linii şi n
numărul de coloane. Rangul, determinantul şi inversa unei matrici sunt date de instrucţiunile
rank(A), det(A) şi respectiv inv(A).
Calculul valorilor proprii şi al polinomului caracteristic pentru o matrice se face cu
instrucţiunile: eig(A), poly(A)
Pentru afişarea grafică a unor rezultate trebuie utilizată funcţia plot(x, y) unde x şi y sunt
doi vectori de dimensiuni egale, x – axa absciselor, y – axa ordonatelor.
Se pot şterge rânduri sau coloane dintr-o matrice utilizând 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 obţinută este următoarea:

4
X=
16 2 13
5 11 8
9 7 12
4 14 1

MATLAB are patru funcţii 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 operaţii cu tablouri să se facă element cu element. Adunarea
şi scăderea sunt la fel ca în cazul matricilor obişnuite, însă operaţiile multiplicative sunt diferite.
MATLAB-ul utilizează un punct în faţa semnului obişnuit pentru operaţia ce trebuie executată.
Aceste operaţii sunt următoarele:
+ Adunarea
- Scăderea
.* Înmulţirea element cu element
./ Împărţirea element cu element
.\ Împărţirea la stânga element cu element
.^ Ridicarea la putere element cu element
.' Transpunerea unei matrici fără conjugare
De exemplu, dacă avem următoarea matrice:
A=
3 3
3 3
atunci operaţia A*A va da rezultatul:
ans =
18 18
18 18
iar operaţia A .* A va da rezultatul:
ans =
9 9
9 9
Matricile şi scalarii pot fi combinaţi în câteva moduri. Astfel, un scalar poate fi scăzut
dintr-o matrice prin scăderea din fiecare element al matricii.
B = A - 8.5
Dacă dorim să dăm o valoare oarecare anumitor elemente dintr-o matrice, se poate folosi
expresia următoare:

B(1:2,2:3) = 0

care face zero elementele de la intersecţia 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

Funcţia find determină indicii elementelor unui tablou care îndeplinesc o anumită condiţie.
Expresia k = find(X) returnează indicii elementelor diferite de zero din matricea X. Sau k =
find(isprime(A))' determină poziţiile elementelor prime din matricea A.

5
TEMĂ:

1. Să se creeze un director de lucru în care se vor salva fişierele create la laborator.


2. Să se deschidă un fişier de tipul diary în care să fie înregistrate toate comenzile şi rezultatele
sesiunii de lucru.
3. Să se realizeze un program pentru calculul sumei, diferenţei ş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 instrucţiunea help nume_instrucţiune să se determine sintaxa instrucţiunilor 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 ecuaţii 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 funcţiile 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 funcţia 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 rădăcinile polinomului folosind funcţia roots.
14. Să se realizeze un program care calculează produsul a două polinoame.

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