Documente Academic
Documente Profesional
Documente Cultură
Introducere
MATLAB, acronim al sintagmei Matrix laboratory, este un limbaj de programare i sistem de
dezvoltare pentru aplicaii tiinifice iinginereti, din diverse domenii. Este dezvoltat de The
MathWorks, Inc., SUA si utilizatori , beneficiind de o dezvoltare continua.
Aplicatii:
Matematic, calcul numeric i simbolic
Dezvoltarea algoritmilor
Modelare, simulare i testarea prototipurilor
Analiza i vizualizarea datelor
Grafica
Dezvoltarea de aplicaii, inclusiv GUI
S-a dezvoltat prin Toolbox-uri, care sunt colectii de functii (scripturi .m/ macroinstructiuni) . Ca
limbaj, este un limbaj de nivel nalt. Orientat spre calcul vectorial i matricial, Matricea fiind
structura fundamental pentru acest limbaj. Este un fimbaj orientat pe funcii, dispunnd de
funcii pentru orice operaie se dorete efectuat, funcii simple sau complexe aplicate matricilor,
ale cor elemente pot fi de acelai tip sou pot fi date eterogene, caz pentru care s-a introdus o nou
structur, celula. Vom avea deci matrici de celule. De asemenea limbajul dispune de instruciuni
de control al fluxului program, alte structuri de date, functii de intrare/ieire, avnd proprieti de
programare orientat pe obiecte.
Mediul matlab este organizat pe 6 directoare:
ops - Operators and special characters.
lang - Programming language constructs.
strfun - Character strings.
iofun - File input/output.
timefun - Time and dates.
datatypes - Data types and structures.
Simulink
SIMULINK este un pachet software pentru modelarea, simularea i analiza sistemelor
dinamice. Pot fi modelate sisteme mecanice, electrice, etc., liniare, neliniare, continue, discrete,
hibride.
SIMULINK are interfa grafic utilizator (GUI) pentru
crearea modelelor sub forma unor diagrame construite din blocuri, pe baza unor tehnici
de tip click-and-drag realizate cu mouse-ul.
se evit formularea matematic laborioas (sistemele dinamice sunt de regul descrise de
ecuaii difereniale).
Real-time Workshop este un program care permite generarea de cod C pentru schemele bloc
create n SIMULINK i astfel permite rularea de aplicaii n timp real.
unde expresia = niruire de operanzi i operatori; operanzii: nume de variabile, constante, nume
(sau apel) de funcii.
Matlab lucreaz n mod linie avnd la baz un interpretor (i nu compilator): fiecare instruciune
pe rnd este trimis interpretorului i evaluat.
Prin variabil MATLAB nelegem un nume care se asigneaz unei zone de memorie unde sunt
stocate valori. Prin nume citim/scriem valoarea din/n memorie, i folosim valoarea n expresii.
MATLAB dispune de trei tipuri de variabile:
locale,
globale
persistente.
MATLAB-ul nu necesit declararea dimensiunii variabilelor, deoarece la ntlnirea unui nou
nume de variabil genereaz automat variabila respectiv i aloc spaiul necesar de memorie.
Numele unei variabile este o liter, urmat de un numr orict de mare de litere, cifre sau
simboluri. Din nume numai primele 31 de caractere sunt folosite pentru identificare.
MATLAB-ul este case sensitive .
Operatori i funcii
Operatori aritmetici n cadrul expresiilor:
+ adunare, - scdere, , * multiplicare
/ mprire, \ mprire la stnga,^ ridicare la putere, ` transpusa unei matrice sau complex
conjugata unui numr complex, ( ) operatorul de specificare a ordinii de evaluare (cu prioritate
maxim)
Functii:
sunt un numr mare de funcii matematice elementare standard (abs, sqrt, exp, sin ) (help
elfun) si funcii matematice avansate (funcii Bessel, gama etc.), multe dintre acestea acceptnd
argumente complexe (help elmat / help specfun).
Functii built-in, fac parte din nucleul Matlab, compilate, au vitez de execuie sporit (accesul la
structura funciei nepermis).
Unele funcii sunt implementate ca fiiere MATLAB (M-files) i pot fi modificate.
Pentru a gsi calea spre codul surs a unei funcii MATLAB M-file folosi funcia which.
Functii constante: pi, Exp, i/j, Realmin, Realmax, Inf, NaN.
Este posibil suprascrierea lor.
Structuri:
Exemple:
>>patient(1)
ans =
name: John Doe'
billing: 127.00
test: [3x3 double]
>> patient(1).test
ans =
Cell array:
Tabloul(matricea) de celule este folosit la stocarea indexat a datelor de tipuri diferite.
Celulele sunt cmpuri fr nume (dar indexate pentru a putea fi referite).
Exemplu:
A = {[1 4 3; 0 5 8; 7 2 9], 'Maria Rotariu' ; 3+7i, -pi : pi/4 : pi};
Se poate iniializa individual fiecare celul:
>>A(1,1) = {[1 4 3; 0 5 8; 7 2 9]}
>>A(1,2) = {'Maria Rotariu'};
Extindere tablou:
>>A(3,3) = {5};
>>A{1,1} = {[1 4 3; 0 5 8; 7 2 9]} se obine cell array pentru A{1,1}
Prioritatea operaiilor:
Ordinea de evaluare a unei expresii este dat de nivelele de precedena/prioritate ale operatorilor
implicati.
1. Paranteze ()
2. Transpusa (.'), putere (.^), complex conjugate transpose ('), matrice la putere (^)
3. plus unar (+), minus unar (-), negare logic (~)
4. nmulire (.*), mprire la dreapta (./), la stnga (.\), nmulire de matrice (*),
mprire matrice dreapta (/),mprire matrice stnga (\)
5. adunare (+), scdere (-)
6. operatorul dou punce (:)
7. mai mic (<), mai mic sau egal (<=), mai mare (>), mai mare sau egal (>=),
test egalitate (==), test diferit (~=)
8. AND (&)
9. OR (|)
1.4
1.3
1.2
1.1
0.9
0.8
0.7
0.2
0.4
0.6
0.8
1.2
1.4
1.6
1.8
break
b(i)=a(i)+5
end
care calculeaza numai a(1), rezultnd:
a = 10
- continue
Instructiunea continue transfera controlul la urmatoarea iteratie din bucla for sau while
n care apare, sarind celelalte instructiuni ramase ntre aceasta si end.
Exemplu:
for i=1:10
a(i)=i*10
b(i)=a(i)+5 end
Secventa va calcula:
a=
10 20 30 40 50 60 70 80 90 100
b=
15 25 35 45 55 65 75 85 95 105
- return
Instructiunea return comanda o iesire normala din fisierul de tip .m (nume_fisier.m) catre
functia care l-a apelat sau catre tastatura.
Exemplu:
function d = det(A)
if isempty(A)
d = 1;
return
else
...
end
Bibliografie
1. Cleve Moler, Numerical Computing with MATLAB, Electronic Edition: The MathWorks, Inc., Natick,
MA, 2004, http://www.mathworks.com/moler.
2. Hunt, Brian R., Lipsman, Ronald L., Rosenberg, Jonathan M., A Guide to MATLAB for Beginners and
Experienced Users, Cambridge University Press, 2001.
3. Learning SIMULINK, The Mathworks, Student version, 2004.
4. MATLAB - The Language of Technical Computing, MATLAB 7, The MathWorks Inc., 2009.
10