Documente Academic
Documente Profesional
Documente Cultură
RAPORT
Lucrarea de laborator nr.6
la disciplina Modelare și Identificare
A efectuat:
st. gr. AI-171 Cazacu Dumitru
A verificat:
asist. univ. Popovici Nadejda
Chişinău 2019
Tema: Identificarea experimentală în bază de MATLAB
Scopul lucrarii:
De aproximat seturile de date experimentale cu modelele de obiecte discrete şi continue.
De studiat şi analizat setul de comenzi MATLAB pentru realizarea lucrării.
Varianta 2
Sarcina Lucrării:
1. De analizat comenzile de lucru tfest(), compare(), iddata, pe(), arx(), armax(), oe(), bj().
De prezentat sintaxa acestor comenzi.
2. Pentru seturi de date primite în formatul iddata de efectuat:
1. Afişarea datelor de intrare/ieşire (comanda plot()).
2. Aproximarea datelor experimentale cu modele de obiecte cu inerţie de ordinal 1, 2 ,3
(comanda tfest()).
3. Analiza datelor obţinute prin compararea răspunsurilor modelelor cu semnalul de ieşire
real (comanda compare()).
4. Aproximarea datelor experimentale cu modele parametrice din clasa ARMAX
(comenzile: thd=arx(), thd1=armax(), thd2=oe(), thd3=bj()).
5. Analiza datelor obţinute prin compararea răspunsurilor modelelor cu semnalul de ieşire
real (comanda pe()).
3. De făcut analiza modelelor obţinute. De prezentat modelele care au cea mai mare precizie
de aproximare a datelor experimentale.
Mersul Lucrării:
1. De analizat comenzile de lucru tfest(), compare(), iddata(), pe(), arx(), armax(), oe(), bj().
De prezentat sintaxa acestor comenzi.
Comanda tfest():
Sintaxa:
sys=tfest(data,np)
unde: data – datele în format iddata dependente de timp și np – gradul inerției
Comanda arx():
Sintaxa:
thd1 = arx(data,[1 2 2])
unde: data – datele în format iddata dependente de timp și vectorul coeficienților
modelului ARX
Comanda armax():
Sintaxa:
thd2 = armax(data,[1 2 3 2])
unde: data – datele în format iddata dependente de timp și vectorul coeficienților
modelului ARMAX
Comanda oe():
Sintaxa:
thd3 = oe(data,[1 1 3])
unde: data – datele în format iddata dependente de timp și vectorul coeficienților
modelului OE
Comanda bj():
Sintaxa:
thd4 = bj(data,[1 2 2 3 4])
unde: data – datele în format iddata dependente de timp și vectorul coeficienților
modelului BJ
>> plot(data)
Input-Output Data
y1
10
0
Amplitude
u1
3
0
10 20 30 40 50 60 70 80 90 100 110 120
Time (seconds)
>> sym2=tfest(data,2)
sym2 =
From input "u1" to output "y1":
0.9485 s + 4.68
---------------------
s^2 + 4.991 s + 1.559
Continuous-time identified transfer function.
Parameterization:
Number of poles: 2 Number of zeros: 1
Number of free coefficients: 4
Use "tfdata", "getpvec", "getcov" for parameters and their uncertainties.
Status:
Estimated using TFEST on time domain data "data".
Fit to estimation data: 97.9%
FPE: 0.004055, MSE: 0.003959
>> sym3=tfest(data,3)
sym3 =
From input "u1" to output "y1":
0.9896 s^2 + 0.1835 s + 0.005528
--------------------------------------
s^3 + 0.5122 s^2 + 0.0669 s + 0.001841
6
Amplitude
4
y1
-2
10 20 30 40 50 60 70 80 90 100
Time (seconds)
Figura 2 – Graficul f.d.t. a sistemului real și a M.M. sym1(inerție de or. 1) cu aproximația 97,89 %
6
Amplitude
4
y1
-2
10 20 30 40 50 60 70 80 90 100
Time (seconds)
Figura 3 – Graficul f.d.t. a sistemului real și a M.M. sym2(inerție de or. 2) cu aproximația 97,9 %
Simulated Response Comparison
10
data (y1)
sym3: 97.92%
8
6
Amplitude
4
y1
-2
10 20 30 40 50 60 70 80 90 100
Time (seconds)
Figura 4 – Graficul f.d.t. a sistemului real și a M.M. sym3(inerție de or. 3) cu aproximația 97,92 %
5. Analiza datelor obţinute prin compararea răspunsurilor modelelor cu semnalul de ieşire real
(comanda pe()).
>> figure(1)
>> pe(sym1,data)
1-Step Prediction Error
data (y1)
0.1 sym1
Amplitude 0.05
y1
-0.05
-0.1
30 40 50 60 70 80 90 100
Time (seconds)
>> figure(2)
>> pe(sym2,data)
1-Step Prediction Error
0.2
data (y1)
0.15 sym2
0.1
0.05
Amplitude
y1
-0.05
-0.1
-0.15
-0.2
20 40 60 80 100 120
Time (seconds)
Figura 7– Graficul erorii de predicție a modelului matematic sym2(inerție de or. 2) față de modelul
real
>> figure(3)
>> pe(sym3,data)
data (y1)
0.15 sym3
0.1
0.05
Amplitude
y1
-0.05
-0.1
-0.15
-0.2
20 40 60 80 100
Time (seconds)
>> figure(1)
>> pe(thd1,data)
1-Step Prediction Error
0.3
0.2
0.1
0
Amplitude
y1
-0.1
-0.2
-0.3
-0.4
-0.5
10 20 30 40 50 60 70 80 90 100
Time (seconds)
Figura 9 – Graficul erorii de predicție a modelului matematic thd1(arx) față de modelul real
>> figure(2)
>> pe(thd2,data)
1-Step Prediction Error
0.6
data (y1)
thd2
0.4
0.2
0
Amplitude
y1
-0.2
-0.4
-0.6
-0.8
20 40 60 80 100 120
Time (seconds)
Figura 10 – Graficul erorii de predicție a modelului matematic thd2(armax) față de modelul real
>> figure(3)
>> pe(thd3,data)
1-Step Prediction Error
0.8
data (y1)
0.6 thd3
0.4
0.2
0
Amplitude
y1
-0.2
-0.4
-0.6
-0.8
-1
-1.2
20 40 60 80 100 120
Time (seconds)
Figura 11 – Graficul erorii de predicție a modelului matematic thd3(oe) față de modelul real
>> figure(4)
>> pe(thd4,data)
0.2
0.1
0
Amplitude
y1
-0.1
-0.2
-0.3
-0.4
-0.5
-0.6
20 40 60 80 100 120
Time (seconds)
Figura 12 – Graficul erorii de predicție a modelului matematic thd4(bj) față de modelul real
3. De făcut analiza modelelor obținute. De prezentat modele care au cea mai mare precizie de
aproximare a datelor experimentale.
Din analiza făcută anterior s-a observat că modelul cu eroarea de predicție cea mai mică o
constituie modelul: oe după cum se observă în Figurile 11, deoarece el prezintă cele mai
mici distorsiuni față de celelalte modele de calcul.
Concluzie:
În lucrarea de laborator dată am studiat metodele de identificare experimentală în baza soft-
ului MATLAB însușind, astfel, metodele de introducere a datelor în format tabelar dependent de
timp (iddata). Am însușit metodele de aproximare a setului de date experimentale cu modele
matematice discrete și continue utilizând modelele de inerție de ordinul 1, 2 și 3, și modelele arx,
armax, oe, bj.
În cadrul lucrării am studiat și analizat setul de comenzi MATLAB pentru realizarea acestei
lucrări și în primul punct al lucrării am prezentat succint sintaxele comenzilor utilizate și descrierea
variabilelor acestor comenzi și sintaxe. În lucrare am afișat graficele datelor de intrare și ieșire
inițial achiziționate experimental, apoi am aproximat datele respective cu modele matematice
discrete și continue, după care am analizat eroarea fiecărui model matematic, iar la finele lucrării
am realizat analiza comparativă a rezultatelor obținute și am concluzionat că modelul oe are cea
mai mare aproximație a datelor experimentale introduse și are cea mai mica eroare, deoarece are o
aproximare foarte mica cu distorsiuni putin mai neglijate față de celelalte modele de calcul.