Documente Academic
Documente Profesional
Documente Cultură
inginereti
Tema 9
MATLAB.
Noiuni generale
CE ESTE MATLAB ?
MATLAB (MATtrix LABoratory) este un pachet de programe de nalt
performan, interactiv, destinat calculului matematic, tiinific i ingineresc.
MATLAB integreaz calcul, programare i vizualizare, ntr-un mediu de
lucru prietenos, soluionarea problemelor presupunnd folosirea notaiilor
matematice clasice.
Utilizarea programului MATLAB include:
Matematic i calcul numeric
Programare i dezvoltare de algoritmi
Achiziia de date
Modelare i simulare
Analiz de date, exploatarea rezultatelor i vizualizare
Grafic tiinific i inginereasc
Dezvoltare de aplicaii software, incluznd construcie de interfee
grafice cu utilizatorul (GUI)
CE ESTE MATLAB ?
MATLAB este un produs al companiei americane The Mathworks, Inc.
[http://www.mathworks.com] i lucreaz sub Windows, Unix, LINUX i
Machintosh.
MATLAB include toate facilitile unui limbaj complet de programare,
admind interfee cu limbajul de programare C, C++ i FORTRAN.
MATLAB a cunoscut o puternic evoluie n decursul ultimilor ani,
reprezentnd astzi n mediile universitare o unealt standard de calcul, fiind
asociat diverselor cursuri introductive sau avansate n matematic, tiin i
inginerie.
n industrie, MATLAB este recunoscut ca un mijloc de investigaie
numeric performant, utilizat n sprijinul unei activiti de cercetare,
dezvoltare i analiz de nalt nivel.
CE ESTE MATLAB ?
Versiunea complet a pachetului de programe MATLAB conine o ntreag
familie de module specifice, denumite tool-box-uri, respectiv blockset-uri,
care permit rezolvarea unor aplicaii din diverse domenii cum ar fi: maini,
aparate i acionri electrice, control de sistem, aplicaii DSP, procesarea
materialelor i electro-tehnologii, procesare de semnal, mecanic, industria
aeronautic i de automobile, statistic, finane i multe altele.
Aceste module sunt colecii de funcii MATLAB (M-files), uor de asimilat,
care extind puterea de calcul a pachetului de programe MATLAB n vederea
rezolvrii unor clase particulare de probleme.
Colecia de module MATLAB conine: Simulink, DSP, Control System,
SimPowerSystems, SimMechanics, Data Acquisition, Fuzzy Logic, Image
Processing, Partial Differential Equations, Neural Network, Optimization,
System Identification, Financial, Statistics, Communications, Database,
Virtual Reality etc.
TIPURI DE DATE
Numere. MATLAB folosete pentru numere notaia zecimala convenional,
cu punct zecimal opional si semne plus sau minus. Notaia stiintific folosete
litera e pentru a specifica 10 la puterea corespunztoare. Numerele imaginare
folosesc fie i fie j ca sufix. Iata cateva exemple de numere:
3
-99
0.0001
9.6397238
1.60210e-20
6.02252e23
1i
-3.14159j
3e5i
Toate numerele sunt stocate intern folosind formatul long standardizat, avnd
o precizie de circa 16 cifre semnificative i variind intre aproximativ 10-308 i
10+308.
Pentru a economisi memorie, numerele pot fi folosite i n forma ntreg sau
zecimal cu simpl precizie.
n afara datelor de tip numeric, MATLAB lucreaz i cu date de tip logic sau
de tip caracter.
CARACTERE SPECIALE
:
Se foloseste la generarea diviziunilor
()
Folosite pentru corpul unei functii
[]
Pentru desemnarea unei matrici/vector
@
Simbol pentru anuntarea unei functii de tip
FUNCTION_HANDLE
.
Indicator de operatie aritmetica element cu element
VARIABILE
MATLAB nu necesit nici un tip de instruciuni de declarare sau
dimensionare a variabilelor. Cnd MATLAB intlnete un nou nume
de variabil, acesta creeaz automat variabila i aloc memoria
necesar. Dac variabila deja exist, MATLAB schimb coninutul
acesteia i dac este necesar aloca o alt cantitate de memorie.
Numele de variabile ncep obligatoriu cu o liter, urmat de orice
numr de litere, cifre, etc. MATLAB folosete doar primele 63 de
caractere ale unui nume de variabil.
MATLAB face deosebirea ntre litere mari i mici. A si a nu reprezint
aceeai variabil.
ATENIE ! Dac unei variabile i se d numele unei funcii, funcia nu
mai poate fi folosit pn cnd variabila nu este tears.
Exist i un numr de cuvinte rezervate, care nu pot fi folosite ca nume
de variabile ('break, 'continue, 'else, 'end, 'for, 'function, 'if,
'return, 'switch, 'while, etc)
VARIABILE
Datorit faptului c ntr-o sesiune de lucru numrul de variabile
folosite poate fi foarte mare, MATLAB dispune de o serie de comenzi
i funcii care s uureze munca programatorului. Acestea sunt:
who - pentru a lista variabilele din workspace-ul curent;
whos - pentru a lista variabilele si informaii despre dimensiunile si
clasa lor.
exist nume - pentru a vedea daca variabila specificata se afla in
workspace.
VALORI SPECIALE
pi
3.14159265...
sqrt(-1)
sqrt(-1)
eps
realmin
realmax
inf
Infinit
NaN
Not-a number
OPERATORI
n MATLAB operatorii pot fi: aritmetici, logici sau relaionali.
Operatorii matematici
+
Adunare
Scdere
.*
nmulire
./
mprire la dreapta
.\
mprire la stnga
Plus unar
Minus unar
.^
Putere
.'
Transpus
'
nmulire de matrice
FUNCII
MATLAB pune la dispoziie un mare numr de funcii
matematice standard, incluznd abs, sqrt, exp, i sin. Extrgnd
radical sau aplicnd logaritm pe un numr negativ nu este eroare
ci rezultatul este un numr complex calculat automat. MATLAB
dispune de trei categorii de funcii: funcii elementare, funcii
avansate i funcii speciale pentru matrice. Multe dintre aceste
funcii accepta argumente complexe.
O lista a funciilor elementare se poate obine tastnd help
elfun.
Pentru a obine o lista a funciilor avansate de matematica si de
manipulare a matricelor se tasteaz help specfun, help elmat.
MANIPULAREA MATRICELOR
Se poate defini o matrice in MATLAB pe mai multe cai:
Se introduce o lista explicita de elemente.
Se ncarc matricea din fiiere de date externe.
Se genereaz matricea folosind funcii incluse.
Se creaz matricea folosind propriile funcii.
Pentru introducerea unei matrice ca o lista de elemente trebuiesc respectate
cteva convenii de baza:
Se separ elementele unui rnd cu spatii blanc sau virgule.
Se folosete un semn punct si virgula, ;, pentru a indica sfarsitul fiecrui
rnd.
Se include ntreaga lista intre paranteze ptrate, [ ].
Exemplu
A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]
A=
16 3
5
10
9
6
4
15
2
11
7
14
13
8
12
1
ones
rand
randn
eye
diag
Matrice diagonala
linspace
logspace