Documente Academic
Documente Profesional
Documente Cultură
1■ Funcţia idinput
1.5
0.5
-0.5
-1
-1.5
Soluţie:
Instrucţiunea care generează un astfel de semnal este următoarea:
[u,f]=idinput([50,1,2],'sine',[0 50],[0 5],[2 5 1]);
3.5
2.5
1.5
0.5
0
0 10 20 30 40 50 60 70 80 90 100
Timp
1.5
0.5
Amplitudine
-0.5
-1
-1.5
-2
■ Funcţia iddata
unde Frecvente este un vector ce con ţine frecvenţele în care sunt definite
valorile vectorilor Y şi U. El trebuie să aibă aceeaşi lungime cu Y şi U.
În acest caz Ts poate fi făcut egal cu zero dacă datele prelucrate sunt în
timp continuu.
-1
0.5
-0.5
-1
Proprietăţile unui obiect iddata (sau ale oricărui alt obiect Matlab) pot fi
vizualizate folosind funcţia get şi pot fi modificate folosind funcţia set.
Pentru exemplul nostru aceste proprietăţi sunt următoarele (se tastează în
linia de comandă instrucţiunea: >> get(date_id))
Domain: 'Time'
Name: []
OutputData: [50x1 double]
y: 'Same as OutputData'
OutputName: {'y1'}
OutputUnit: {''}
InputData: [50x1 double]
u: 'Same as InputData'
InputName: {'u1'}
InputUnit: {''}
Period: Inf
InterSample: 'zoh'
Ts: 0.1000 Tstart:
[]
SamplingInstants: [50x0 double]
TimeUnit: ''
ExperimentName: 'Exp1'
Notes: []
UserData: []
Dacă se doreşte modificarea uneia dintre aceste proprietăţile foloseşte
funcţia set. Spre exemplu dacă dorim să facem perioada de eşantionare
egală cu 0.2, atunci se utilizează următoarea instrucţiune:
>> set(date_id,'Ts',0.2)
sau mai scurt: >> date_id.Ts=0.2
■ Funcţia idpoly
Sintaxă: m = idpoly(A,B,C,D,F,NoiseVariance,Ts)
Descriere:
Funcţia idpoly creează un obiect ce conţine parametrii ce descriu un
model general cu mai multe intrări şi o singură ieşire dat de relaţia
următoare:
unde:
1- q reprezintă operatorul de întârziere cu un pas;
2- A, B, C, D şi F sunt matrici în care se specifică coeficienţii polinoamelor
modelului. În cazul sistemelor cu o singură intrare A, B, C, D şi F sunt
vectori linie. Primul element al vectorilor A, C, D şi F
este 1 în timp ce vectorul B conţine pe primele poziţii atâtea zerouri
cât indică nk. Spre exemplu, polinomul A are forma:
A(q) 1 a1q 1 a2 q 2 ... ana q na
1- NoiseVariance reprezintă varianţa zgomotului e(t)
2- Ts reprezintă perioada de eşantionare. Pentru cazul în care
sistemul este continuu, Ts=0.
Soluţie:
B=[0 1;1 3];
F=[1 1 0;1 2 4]
m = idpoly(1,B,1,1,F,1,0)
Soluţie:
Folosind operatorul de întârziere cu un pas q -1 ecuaţia de mai sus se
poate scrie:
1 2 1 2 1 2
(1 1.5q 0.7q ) y(t) (q 0.5q )u(t) (1 q 0.2q )e(t)
Avem deci un model de forma:
B( q ) C (q )
A(q) y(t) F ( q ) u(t nk) D ( q ) e(t)
unde: A(q) 1 1.5q 1 0.7q 2 B(q) q
1 2
0.5q
1 2
C(q) 1 q 0.2q F (q)
1 , D(q) 1
Pentru implementarea acestui model în Matlab se scriu următoarele
instrucţiuni:
A = [1 -1.5 0.7];
B = [0 1 0.5];
C = [1 -1 0.2];
D=1;
F=1;
Ts=0.1;
m = idpoly(A,B,C,D,F,Ts)
■ Funcţia idproc
Sintaxă: m=idproc(Type)
Descriere:
Funcţia idproc este utilizată pentru crearea de obiecte Matlab
corespunzătoare modelelor de procese uzuale simple, continue în timp.
Aceste modele pot avea mai multe intrări dar numai o singură ieşire.
Caracterul modelului este definit de argumentul Type. Acesta este un
acronim format din următoarele simboluri:
P – este în mod obligatoriu prima literă a acronimului;
0, 1, 2 sau 3 – prin acest număr se notează numărul constantelor
de timp (polii) ai modelului. Posibilele integratoare (poli în
origine) nu sunt incluse în acest număr.
D – este litera utilizată pentru a marca faptul că modelul conţine
o întârziere (delay).
Z – este litera utilizată pentru a marca faptul că modelul are un
zerou.
U – este litera utilizată pentru a marca faptul că modelul poate
avea poli complex conjugaţi. Dacă litera U nu este inclusă în
acronim, atunci toţi polii modelului sunt reali.
Exemplul 1.7
Type=’P1D’, corespunde unui model cu funcţia de transfer
Kp
T s
G(s) 1sTp1 e
d
Type=’P0I’ corespunde unui model cu funcţia de transfer
Kp
G(s) s
Type=’P3UZ’ corespunde unui model cu funcţia de transfer
1 Tz
G(s) K p (1 2 T s (T s)2 )(1 T s)
w w p3
Pentru sisteme cu mai multe intrări, Type este un vector de celule,
fiecare celulă descriind caracterul modelului corespunzător intrării
respective.
Exemplu: Un model cu funcţia de transfer
Y (s) K p (1) e Td sU1 (s) K p (2) U 2 (s) se obţine folosind instrucţiunea
1sTp1 (1) s
m=idproc({’P1D’,’P0I’})
■ Funcţia idss
Sintaxă: m = idss(A,B,C,D)
m = idss(A,B,C,D,K,x0,Ts)
Descriere:
Funcţia idss este utilizată pentru a construi un model descris prin
ecuaţii de stare cu parametrii cunoscuţi şi/sau necunoscuţ i. Forma
generală a modelului descris de această funcţie este următoarea:
~
x (t) A( )x(t) B( )u(t) Ke(t), x(0) x0
y(t) C( )x(t) D( )u(t) e(t)
unde
~ x(t), pentru sisteme continue
x (t)
x(t Ts), pentru sisteme discrete
0 2 4
y x1 x2
cu valorile iniţiale ale parametrilor necunoscuţi:
0.2
0.3
0
2
4
Soluţie:
A = [-0.2, 0; 0, -0.3]; B = [2;4]; C=[1, 1]; D = 0
m0 = idss(A,B,C,D);
m0.As = [NaN,0;0,NaN];
m0.Bs = [NaN;NaN];
m0.Cs = [1,1];
m0.Ts = 0;
■ Funcţia sim
Sintaxă: y = sim(m,u)
y = sim(m,u,'noise')
[y, ysd] = sim(m,u,'InitialState',init)
-2
-40 10 20 30 40 50 60 70 80 90 100
Timp
0.8 0.2 1
k k
4
y 2 0.3 xk ek
Se cere:
1) să se creeze un model Matlab pentru acest sistem;
2) să se simuleze răspunsul sistemului pe un interval de 500 de secunde la o
intrare u de tip un semnal aleator binar cu amplitudinea cuprinsă între -5
şi 5, şi perturbaţie e de tip zgomot alb.