Documente Academic
Documente Profesional
Documente Cultură
Laborator 1
Introducere in Matlab
A. Scopul lucrării
Familiarizarea studenților cu mediul de programare-simulare MATLAB-
SIMULINK.
B. Considerații teoretice
1. 1 Prezentare generală
Mediul MATLAB este un software performant şi cuprinzător destinat calculelor tehnice,
având o interfaţă prietenoasă cu utilizatorul (www.mathworks.com). El oferă inginerilor,
cercetătorilor şi tehnicienilor un sistem unitar şi interactiv, care include calcule numerice şi
vizualizări grafice, prin aceasta sprijinind creativitatea şi creşterea productivităţii.
Pachetul de produse MATLAB reprezintă un instrument puternic de cercetare, analiză
şi proiectare, de elaborare şi testare rapidă a soluţiilor propuse şi de rezolvare a celor mai
dificile şi complexe probleme tehnice (https://matlabacademy.mathworks.com/details/matlab-
onramp/gettingstarted ). Poate fi considerat un limbaj de programare adaptat pentru probleme
ştiinţifice, graţie funcţiilor sale specializate, în care instrucţiunile sunt interpretate linie cu
linie. Interesant este faptul că posedă capacităţi grafice pentru prezentarea rezultatelor sau
pentru crearea aplicaţiilor.
MATLAB-ul înglobează analiza numerică, calculul vectorial, calculul matriceal,
procesarea semnalelor şi realizarea graficelor într-un mediu uşor de utilizat, în care
problemele şi soluţiile sunt exprimate aşa cum sunt ele scrise matematic, fără a utiliza
programarea tradiţională.
MATLAB-ul este un sistem interactiv care permite rezolvarea multor probleme
numerice într-un timp mult mai scurt decât cel necesar scrierii unui program într-un limbaj de
programare ca Fortran, Basic sau C.
MATLAB-ul este folosit atât în cercetare cât şi în industrie pentru rezolvarea unor
probleme practice de inginerie şi de matematică. Programul a evoluat de-a lungul timpului,
prin contribuţiile mai multor utilizatori şi are numeroase domenii de aplicare. Astfel, acesta
dispune de o serie de soluţii specifice pentru diferite aplicaţii, aşa-numitele toolboxes,
biblioteci de funcţii standard (fişiere M), care extind mediul MATLAB cu scopul de a rezolva
clase particulare de probleme. Dintre domeniile în care sunt utile aceste toolboxuri fac parte:
teoria reglării automate, statistica şi prelucrarea semnalelor, proiectarea sistemelor de reglare,
simularea sistemelor dinamice, identificarea sistemelor, reţele neuronale, etc.
Câteva dintre aceste biblioteci de funcţii, alături de domeniile de aplicaţii specifice, sunt
enumerate în continuare:
Signal Processing Toolbox – procesare de semnal;
System Identification Toolbox – identificarea sistemelor;
Control System Toolbox – sisteme de control;
Robust Control Toolbox – control robust;
Optimization Toolbox – optimizare;
Neural Network Toolbox – reţele neurale;
1
Laborator sistemelor automate – an 2
2
Laborator sistemelor automate – an 2
În ferestrele grafice (vezi fig. 2), MATLAB-ul trasează graficele cu ajutorul funcţiilor
predefinite. O serie de alte ferestre grafice sunt disponibile din bibliotecile de funcţii speciale,
cele ale Simulink-ului sau ale altor obiecte predefinite.
3
Laborator sistemelor automate – an 2
MATLAB-ul conţine un ansamblu format din diferite ferestre (vezi fig. 3), pentru a
vizualiza în acelaşi timp comenzile din consolă (Command Window), istoricul comenzilor din
sesiunea curentă, precum şi din cele anterioare, ca şi fereastra spaţiului de lucru (Workspace),
fereastra care afişează proprietăţile variabilelor utilizate în sesiunea de lucru curentă,
directorul curent (Current Folder).
4
Laborator sistemelor automate – an 2
Library. Pentru a deschide această bibliotecă, se apelează din linia de comandă “simulink”.
Pentru mai multe detalii despre această aplicaţie, deschideţi pagina Programul Simulink.
MATLAB-ul permite crearea de interfeţe utilizator (GUI) personalizate, prin apelarea
funcţiei “guide” în linia de commandă. Se va deschide o fereastră din care putem alege una
dintre mai multe variante.
Există două moduri posibile de funcţionare: modul interactiv şi modul executiv. În
modul interactiv, MATLAB-ul execută instrucţiuni care sunt date de către utilizator, iar în
modul executiv sunt executate, linie cu linie, programele scris într-un fişier M sau într-un
fişier executabil de tip MEX.
MATLAB cuprinde o serie de programe specifice de aplicaţii, aşa-numitele "toolboxes".
Acestea reprezintă biblioteci de funcţii MATLAB care adaptează mediul de lucru pentru
diferite probleme şi diverse domenii de utilizare.
Bibliotecile combină avantajele software-urilor gata produse (fabricate) cu
productivitatea şi flexibilitatea inerente unui mediu tehnic de calcul. Bibliotecile sunt
disponibile pentru toate platformele pe care rulează MATLAB (Unix, Windows).
Ca sistem deschis, MATLAB asigură accesul la codul sursă al bibliotecilor, astfel încât
algoritmii şi funcţiile să poată fi examinate, adaptate şi extinse pentru a corespunde
necesităţilor.
Firma MathWorks oferă numeroase biblioteci, dintre care principalele sunt în
următoarele domenii (https://www.mathworks.com/help/index.html?s_tid=CRUX_lftnav ):
prelucrarea semnalelor (Signal Processing Toolbox);
prelucrarea imaginilor (Image Processing Toolbox);
tehnica reglării automate (Control Systems Toolbox);
reglarea robustă (Robust Control Toolbox);
identificarea sistemelor (System Identification Toolbox);
tehnici de optimizare (Optimization Toolbox);
reţele neuronale (Neural Network Toolbox);
logica Fuzzy (Fuzzy Logic Toolbox);
statistică (Statistics Toolbox).
Având MATLAB ca bază comună, aceste biblioteci pot fi utilizate cu uşurinţă împreună.
Astfel, metodele de optimizare şi funcţiile de la reţele neuronale pot fi folosite în rezolvarea
problemelor complexe de prelucrare a semnalelor, iar rezultatele pot fi reprezentate sub forma
unui grafic în culori cu trei dimensiuni, toate acestea realizându-se într-un singur mediu
unitar.
5
Laborator sistemelor automate – an 2
Definirea variabilelor
În MATLAB nu există instrucţiuni pentru declararea sau dimensionarea unei variabile.
O variabilă nouă se poate defini în moduri diferite, atribuindui-se direct o valoare numerică
(singulară, vector, matrice, şir de caractere, etc) sau prin expresia sa matematică.
EXEMPLUL 1. Mai jos, este atribuită o valoare reală variabilei ts, lui v îi este atribuit un
vector de tip linie cu patru componente, iar lui text, un şir de caractere:
6
Laborator sistemelor automate – an 2
>> ts=0.85
ts =
0.8500
>> v=[1 6 3 0]
v=
1 6 3 0
>> text='buna'
text =
buna
Dacă variabila există deja, MATLAB-ul schimbă conţinutul şi dacă este necesar, realocă mai
mult spaţiu în memorie.
Variabilele astfel definite sunt stocate în spaţiul de lucru şi pot fi folosite în calculele
ulterioare. Afişarea unei variabile din spaţiul de lucru se realizează prin tastarea în linia de
comandă a numelui acesteia.
>> ts
ts =
0.8500
Rezultatul unei instrucţiuni este afişat din start. Dacă se doreşte ca instrucţiunea să fie
executată fără afişarea rezultatului trebuie adăugat caracterul ";" la sfârşitul liniei.
7
Laborator sistemelor automate – an 2
>> A=[1 4 7; 3 9 2]
A=
1 4 7
3 9 2
Comanda următoare are rolul de a returna elementul de pe prima linie şi a doua coloană al
matricei A:
>> A(1,2)
ans =
4
Operaţii cu matrice
Fie X şi Y două matrice. Operaţiile executate în MATLAB sunt ilustrate în cele ce
urmează:
1) Adunarea şi scăderea sunt definite în cazul în care matricele au aceeaşi
dimensiune.
"A=X+Y;"
"B=X-Y;"
2) Înmulţirea este definită atunci când matricea X are dimensiunea m*n, iar Y,
dimensiunea n*p:
"C=X*Y;"
3) Împărţirea la stânga:
A=
1.0000 3.0000 5.0000
0 6.0000 2.0000
-1.0000 0.7000 4.0000
>> det(A)
8
Laborator sistemelor automate – an 2
ans =
46.6000
ans =
7 10
15 22
EXEMPLUL 8. Calculul valorilor proprii ale unei matrice A se realizează prin apelul
subrutinei eig, cu matricea trimisă ca parametru de intrare:
>> A = [1 2 3; 4 3 4; 7 6 5];
>> eig(A)
ans =
11.6847
-2.0000
-0.6847
>> x = [4 3 7 9];
>> y = x.^2
y=
16 9 49 81
>> x.*y
ans =
64 27 343 729
Operaţia de concatenare
Operatorul […] permite combinarea de matrice sau de vectori între ele în scopul
formării unor matrice sau vectori mai mari.
9
Laborator sistemelor automate – an 2
>> x = [4 3 7];
>> y = x.^2;
>> z = [x y]
z=
4 3 7 16 9 49
>> z = [x; y]
z=
4 3 7
16 9 49
Pentru a trasa graficul functiei de mai sus se introduc urmatoarele comenzi in fereastra
grafic Command Window:
>> t=0:0.01e-3:0.06;
>> y=10*exp(-60*t).*cos(120*pi*t);
>> plot(t,y,'r');grid
10
Laborator sistemelor automate – an 2
11
Laborator sistemelor automate – an 2
https://matlabacademy.mathworks.com/?s_v1=41665&elqem=3649079_EM_ROW_DIR_22-
01_MOE-CG-ENG#getting-started
https://www.youtube.com/watch?v=vxzR3W2BcRk
C. Chestiuni de studiat
a. Chestiunea 1
Să se calculeze determinantul, inversa, pătratul și valorile proprii ale matricei:
6 n 8 10
A 5 2n 4 n – nr. de ordine din catalog
12 7 n
Se va rezolva analitic și se va verifica rezolvarea în Matlab.
1 / n 2 1 1
1 n 0 1
A n – nr. de ordine din catalog
0,5 0,5 0 0,5
2 4 0 2n
b. Chestiunea 2
Să se reprezinte grafic funcția : y(t)=sin(t.n)-cos(3t) pentru t [0, 2π]. Analog
1 t 1
pentru y (t ) ln , cu t [1, 2π] si y (t ) n- nr. de ordine din
2t n 2t 3
catalog
12