Sunteți pe pagina 1din 10

LUCRAREA Nr.

VALIDAREA MODELELOR

După estimarea parametrilor, modelul obţinut trebuie validat prin verificarea gradului în care
acesta reproduce comportamentul sistemului real. Operaţiile de estimare a parametrilor şi de validare a
modelului se repetă până se găseşte modelul ce se apropie cel mai mult de comportarea sistemului real.
Matlab-ul pune la dispoziţia utilizatorului următoarele metode pentru validarea modelelor:
 Compararea ieşirii modelului obţinut cu ieşirea reală a sistemului identificat;
 Analiza reziduurilor;
 Analiza răspunsului sistemului la intrări standard;
 Afişarea polilor şi zerourilor modelului obţinut.

Un indicator important în validarea modelelor obţinute în urma identificării îl reprezintă intervalul de


încredere ce corespunde domeniului valorilor ieşirii cu o probabilitate specificată de a fi ieşirea reală a
sistemului. Funcţiile Matlab-ului utilizează estimaţia incertitudinii parametrilor modelului pentru a
calcula intervalele de încredere plecând de la presupunerea că estimaţiile au o distribuţie gaussiană. Spre
exemplu, un interval de încredere de 95% este regiunea din jurul curbei nominale ce are probabilitatea de
95% de a conţine răspunsul real al sistemului. Intervalul de încredere poate fi specificat ca o probabilitate
(între 0 şi 1) sau ca o valoare a deviaţiei standard a distribuţiei gaussiene. Spre exemplu, o probabilitate de
0.99 (99%) corespunde unei valori a deviaţiei standard de 2.58.
În practica identificării sistemelor se obişnuieşte ca mulţimea de date achiziţionate din proces să fie
împărţită în două seturi: unul destinat estimării parametrilor şi altul destinat validării modelului obţinut.
Este bine să nu se utilizeze acelaşi set de date atât pentru estimare cât şi pentru validare, deoarece, în acest
fel, se elimină posibilitatea validării unor modele care sunt mult prea acordate la setul de date de
identificare achiziţionate. Datele simulate trebuie însă generate cu aceleaşi intrări cu care au fost produse
datele de validare, altfel modelul riscă să fie declarat invalid, deşi el este în realitate valid.
Prezentăm în continuare câteva din funcţiile Matlab utilizate pentru analiza şi validarea modelelor.

3.1 Compararea răspunsului modelului cu ieşirea reală

Pentru a compara răspunsul modelului cu răspunsul măsurat se utilizează două seturi de date: un set
de date este utilizat pentru estimarea modelului (datele de estimare) şi un set de date este utilizat pentru
validarea modelului (datele de validare). Funcţia Matlab utilizată pentru această comparaţie este funcţia
compare.

■ Funcţia compare

Sintaxă: compare(data,m)
[ym,fit,x0]=compare(data,m)

Descriere: Această funcţie compară ieşirea reală a sistemului cu ieşirea modelului obţinut prin
identificare. Semnificaţia parametrilor acestei funcţii este următoarea:
- data: este un obiect Matlab de tip iddata ce conţine datele intrare-ieşire utilizate pentru validarea
modelului.
- m: este un obiect Matlab de tip idmodel ce reprezintă modelul care trebuie validat.

Dacă se utilizează fără parametrii din stânga egalului (adică sub forma compare(data,m)), funcţia
calculează ieşirea modelului m la intrarea specificată de obiectul data şi va plota această ieşire împreună
cu ieşirea reală a sistemului (conţinută de asemenea de obiectul data) precum şi gradul de asemănare
(măsurat în procente) între ieşirea reală şi ieşirea estimată. În cazul sistemelor multivariabile, este plotat
câte un grafic pentru fiecare ieşire. În cazul datelor din domeniul frecvenţă (sau în cazul datelor
complexe) sunt afişate valorile absolute ale ieşirii reale şi ale ieşirii modelului. De asemenea funcţia
permite analiza simultană a mai multor modele dacă se utilizează sub forma:

compare(data,m1, m2, ..., mN)

16
În acest caz trebuie ca obiectul data să conţină toate intrările şi ieşirile corespunzătoare modelelor ce
trebuie validate.
Când se specifică şi argumentele de ieşire ale funcţiei compare (sintaxa [ym,fit,x0]=compare(data,m)) nu
va mai fi afişat nici un grafic, iar semnificaţia parametrilor este următoarea:
- yh: este un tablou de celule de dimensiune egală cu numărul de modele. Fiecare celulă conţine
ieşirea corespunzătoare modelului sub forma unui obiect de tip iddata.
- fit: este un număr ce arată gradul de asemănare (măsurat în procente) între ieşirea reală şi ieşirea
estimată.
- x0: este un tablou de celule, fiecare celulă conţine estimaţia stării iniţiale a modelului.

Exemplul 3.1

Considerăm un sistem discret descris de următoarea ecuaţie cu diferenţe:

y (t )  1.5* y (t  1)  0.7 * y (t  2)  u (t  1)  0.5* u (t  2)  p(t )

Semnalul de intrare şi perturbaţia pot fi generate folosind funcţia idinput:

u=idinput(300,’prbs’);
e=idinput(300,’rgs’,[],[-0.1 0.1]);

Simularea modelului m la intrarea u şi perturbaţia e se realizează folosind funcţia sim:

y=sim(m,[u p]);

Datele intrare – ieşire sunt grupate într-un obiect de tip iddata:

z=iddata(y,u,1)

Estimăm două modele m1 şi m2 de tip ARX cu parametrii [1 1 1] şi [2 2 1]:


m1=arx(z,[1 1 1])
m2=arx(z,[2 2 1])

Compararea datelor măsurate cu ieşirea modelelor se poate realiza folosind următoarele instrucţiuni:
compare(z,m1) ; % afişează gradul de asemănare între datele reale şi
% ieşirea modelului m1
pause
compare(z,m2) % afişează gradul de asemănare între datele reale şi
% ieşirea modelului m2
pause
compare(z,m1,m2) % afişează gradul de asemănare între datele reale
% şi ieşirea modelelor m1 şi m2

În figura următoare este prezentat graficul afişat în urma rulării instrucţiunii compare(z,m1)

y1. (sim)
z; measured
8 m1; fit: 24.01%

0
y1

-2

-4

-6

-8

-10

50 100 150 200 250 300


timp

17
■ Funcţiile arxstruc, ivstruc şi selstruc

Aceste funcţii sunt utilizate pentru alegerea celui mai bun model ARX pe baza unui set de date. Sintaxele
celor trei funcţii sunt următoarele:

Sintaxă: V = arxstruc(ze,zv,NN)
V = ivstruc(ze,zv,NN)
nn = selstruc(V,c)

Descriere: Funcţiile arxstruc şi ivstruc calculează suma normalizată a erorilor pătratice de predicţie.
Parametrul NN este o matrice, fiecare linie a acestei matrice având structura [na nb nk]. Cele trei valori
reprezintă gradele corespunzătoare modelului ARX (vezi Lucrarea nr. 2). Parametrii ze şi zv sunt obiecte
Matlab de tip iddata ce conţin datele intrare - ieşire. Datele stocate în ze sunt utilizate pentru
determinarea modelelor ARX cu structura specificată de matricea NN. Pentru aceste modele se calculează
suma normalizată a erorilor pătratice de predicţie pe baza datelor de validare zv şi este returnată în
obiectul Matlab V. Acest obiect este apoi folosit de funcţia selstruc ce returnează valorile optime pentru
structura modelului ARX în vectorul nn. Parametrul c este o valoare numerică utilizată ca parametru în
procedurile de optimizare (şi se alege de obicei egală cu zero).

Exemplul 3.2
Considerăm un sistem discret descris de următoarea ecuaţie cu diferenţe:
y (t )  1.5* y (t  1)  0.7 * y (t  2)  u (t  1)  0.5* u (t  2)  p(t )
Zgomotul p(t) este de tip gaussian. Se cere găsirea celui mai bun model ARX de ordin cel mult 5
care să descrie acest sistem precum şi parametrii acestui model.

Soluţie:
Se creează un model pentru acest sistem folosind funcţia idpoly, după se simulează ieşirea sistemului
la o intrare de tip semnal pseudo-aleator binar pe o perioadă de 400 de secunde. Datele astfel obţinute le
grupăm într-un obiect de tip iddata după care le împărţim în două: un obiect iddata notat ze va conţine
primele 200 de valori şi va fi utilizat pentru estimare iar următoarele 200 de valori vor fi grupate într-un
obiect notat zv şi vor fi utilizate pentru validarea modelelor. Folosind funcţiile arxstruc şi selstruc
determinăm valorile optime pentru gradele polinoamelor modelului ARX, după care, folosind funcţia arx,
estimăm parametrii acestui model. Programul Matlab este următorul:
A =[1,-1.5, 0.7]
B =[0, 1, 0.5]
m=idpoly(A,B)
u=idinput(400,'prbs');
p=idinput(400,'rgs');
y=sim(m,[u p]);
z=iddata(y,u,1)
idplot(z)
ze=z(1:200);
zv=z(201:400);
NN = struc(1:5,1:5,1);
V = arxstruc(ze,zv,NN)
nn = selstruc(V,0)
m = arx(z,nn)

3.2 Analiza reziduurilor

Reziduurile reprezintă diferenţele dintre predicţia cu un pas a ieşirii modelului şi ieşirea măsurată din
datele utilizate pentru validare. Deci, reziduurile reprezintă acea parte din datele utilizate pentru validare
ce nu sunt surprinse de către model. Analiza reziduurilor constă în două teste: testul de albire şi testul de
independenţă. Conform testului de albire, un model bun are funcţia de autocorelaţie a reziduurilor în
interiorul intervalului de încredere, lucru ce indică faptul că reziduurile sunt necorelate. Conform testului
de independenţă, un model bun are reziduurile necorelate cu intrările anterioare. O corelaţie mare indică
faptul că modelul nu descrie modul în care anumite porţiuni ale ieşirii sunt legate de intrările
corespunzătoare. Spre exemplu, un vârf în afara intervalului de încredere la eşantionul k înseamnă că

18
ieşirea y(t) generată de intrarea u(t-k) nu este descrisă în mod corespunzător de către model. Funcţia
Matlab utilizată pentru analiza reziduurilor este funcţia resid descrisă în continuare.

■ Funcţia pe

Sintaxă: e=pe(data,m)
[e, x0] = pe(m,data,init)

Descriere: Această funcţie calculează reziduurile modelului (eroarea de predicţie). Semnificaţia


parametrilor acestei funcţii este următoarea:
- data: este un obiect Matlab de tip iddata ce conţine datele intrare-ieşire utilizate pentru validarea
modelului.
- m: este un obiect Matlab de tip idmodel ce reprezintă modelul care trebuie validat.
- e: este un obiect de tip iddata returnat de către funcţie, astfel că eroarea de predicţie poate fi obţinută
folosind instrucţiunea e.OutputData;
- init: determină cum sunt utilizate condiţiile iniţiale, astfel:
 init=’estimate’: starea iniţială este estimată astfel încât norma erorii de predicţie să fie
minimizată; ea este returnată în parametrul x0;
 init=’zero’: setează starea iniţială la zero;
 init=’model’: utilizează starea iniţială a modelului;
 init=x0i: x0i este un vector coloană ce conţine valorile stării iniţiale specificate de utilizator.

■ Funcţia resid

Sintaxă: resid(data,m)
resid(data,m,tip)
e=resid(data,m)

Descriere: Această funcţie calculează reziduurile modelului (eroarea de predicţie). Semnificaţia


parametrilor acestei funcţii este următoarea:
- data: este un obiect Matlab de tip iddata ce conţine datele intrare-ieşire utilizate pentru validarea
modelului.
- m: este un obiect Matlab de tip idmodel ce reprezintă modelul care trebuie validat.

Dacă se utilizează fără parametrii din stângă egalului (adică sub forma resid(data,m,tip)), funcţia
calculează reziduurile modelului şi afişează un grafic care poate fi de trei feluri, în funcţie de valoarea
parametrului tip:
 tip=’Corr’: sunt afişate funcţia de autocorelaţie a reziduurilor e şi funcţia de intercorelaţie între
reziduuri şi intrarea u a modelului. Sunt de asemenea calculate intervalele de încredere de 99%
pentru aceste valori şi plotate cu culoarea galbenă. Calculul regiunii de încredere se face
presupunând că e este zgomot alb şi este independent de intrarea u. Aceasta este valoarea
implicită a parametrului tip pentru date în domeniul timp.
 tip=’ir’: este afişat răspunsul la impuls al modelului dintre intrare şi reziduuri cu o regiune de
încredere de 99% în jurul lui zero marcată cu culoare galbenă.
 tip=’fr’: este afişat răspunsul în frecvenţă al modelului dintre intrare şi reziduuri cu o regiune de
încredere de 99% în jurul lui zero marcată cu culoare galbenă. Aceasta este valoarea implicită a
parametrului tip pentru date în domeniul frecvenţă.
Dacă se utilizează sintaxa cu parametru de ieşire (e=resid(data,m)) funcţia nu mai afişează nici un
grafic şi reziduurile (erorile de prediciţie) sunt returnate în parametrul e care este obiect de tip iddata.

Exemplul 3.3
Programul următor afişează funcţiile de corelaţie a reziduurilor pentru două modele de tip ARX
estimate folosind acelaşi set de date:

A =[1,-1.5, 0.7]
B =[0, 1, 0.5]
m=idpoly(A,B)
u=idinput(400,'prbs');
p=idinput(400,'rgs');

19
y=sim(m,[u p]);
z=iddata(y,u,1)
idplot(z)
ze=z(1:200);
zv=z(201:400);
m1=arx(ze,[1 1 1])
m2=arx(ze,[2 2 1])
resid(zv,m1)
pause
resid(zv,m2)

Graficele obţinute sunt următoarele:

Correlation function of residuals. Output y1 Correlation function of residuals. Output y1


1 1

0.5 0.5

0 0

-0.5 -0.5
0 5 10 15 20 25 0 5 10 15 20 25
lag lag
Cross corr. function between input u1 and residuals from output y1 Cross corr. function between input u1 and residuals from output y1
0.6 0.2

0.4 0.1

0.2 0

0 -0.1

-0.2 -0.2
-25 -20 -15 -10 -5 0 5 10 15 20 25 -25 -20 -15 -10 -5 0 5 10 15 20 25
lag lag

Funcţiile de corelaţie ale reziduurilor pentru modelul m1 și modelulu m2

După cum se observă, modelul m2 este mai bun decât modelul m1 deoarece valorile funcţiilor de
corelaţie a reziduurilor pentru modelul m2 nu depăşesc intervalele de încredere.

3.3 Analiza răspunsului sistemului la intrări standard

Graficele răspunsurilor sistemelor la intrări de tip impuls sau de tip treaptă mai sunt numite şi grafice
ale răspunsurilor tranzitorii şi oferă o serie de informaţii legate de caracteristicile dinamice de bază ale
sistemelor, cum ar fi timpii de răspuns, amplificările statice sau întârzierile. Răspunsurile tranzitorii pot fi
utilizate de asemenea pentru a aprecia cât de bine au fost aproximate dinamicile sistemului de către
modelul liniar estimat. Spre exemplu, se pot estima răspunsul la impuls sau la treaptă folosind analiza de
corelaţie (modele neparametrice) după care acestea pot fi comparate cu răspunsurile tranzitorii ale unor
modele parametrice. Deoarece modelele parametrice şi neparametrice sunt obţinute folosind algoritmi
fundamental diferiţi, o asemănare între răspunsurile tranzitorii ale acestor două tipuri de modele măreşte
încrederea în modelele parametrice.
O altă modalitate de analiză şi validare a modelelor o reprezintă analiza răspunsurilor în frecvenţă.
Graficele acestor răspunsuri în frecvenţă furnizează o serie de informaţii legate de dinamicile modelelor
liniare cum ar fi frecvenţa de rezonanţă sau marginile de stabilitate.
Răspunsul în frecvenţă al modelelor dinamice liniare descrie modul în care acesta reacţionează la intrări
sinusoidale. Dacă intrarea sistemului u(t) este o sinusoidă, atunci ieşirea acestuia y(t) este de asemenea o
sinusoidă de aceeaşi frecvenţă dar de amplitudine şi fază diferite.
În continuare sunt prezentate principalele funcţii Matlab utilizate pentru analiza răspunsurilor la
intrări standard.

■ Funcţia impulse

Sintaxă: impulse(m)
impulse(data)
[y, t, ysd] = impulse(m)

20
Descriere: Această funcţie estimează, calculează sau trasează grafic funcţia pondere (răspunsul la
impuls). Funcţia poate fi aplicată atât obiectelor de tip idmodel cât şi obiectelor de tip iddata. Pentru
modele discrete m, funcţia pondere y şi deviaţia standard estimată ysd, sunt calculate folosind funcţia
sim. Când este apelată cu argumentele de ieşire funcţia returnează vectorul de ieşire y, deviaţia standard a
lui y - ysd şi vectorul de timp t. Când este apelată fără argumentele de ieşire, funcţia va trasa pe ecran
graficul funcţiei pondere.
Dacă argumentul de intrare este un obiect iddata, funcţia va estima un model FIR de ordin mare după
ce în prealabil datele au fost prefiltrate astfel încât intrarea să fie cât mai ”albă” cu putinţă. Funcţia
pondere a acestui model FIR este apoi afişată grafic. Dacă este apelată cu argumente de ieşire, şi datele de
intrare sunt de tip iddata funcţia returnează modelul FIR estimat sub forma unui obiect de tip idarx.
Ordinul filtrului care realizează prefiltrarea datelor poate fi setat modificând valoarea proprietăţii pw. În
mod implicit această valoare este 10.
Se pot utiliza diverse combinaţii de modele şi seturi de date ca argumente de intrare. Răspunsurile
fiecărui model sunt trasate separat, culorile şi stilul liniilor pot fi definite prin modificarea valorile
proprietăţii PlotStyle.

Exemplul 3.4
Programul următor estimează două modele de tip ARX şi afişează pe acealaşi grafic răspunsurile la
impuls pentru cele două modele.

A =[1,-1.5, 0.7]
B =[ 0, 1, 0.5]
m=idpoly(A,B)
u=idinput(300,'prbs');
p=idinput(300,'rgs',[],[-0.1 0.1]);
y=sim(m,[u p]);
z=iddata(y,u,1)
idplot(z)
m1=arx(z,[1 1 1])
m2=arx(z,[2 2 1])
impulse(m1,'b-*',m2,'r--')

Rezultatul rulării programului este prezentat în figura următoare.


From u1
2.5

1.5

1
To y1

0.5

-0.5

-1
-20 -10 0 10 20 30 40 50 60
Time

■ Funcţia step

Sintaxă: step(m)
step(data)
[y,t,ysd] = step(m)

Descriere: Această funcţie estimează, calculează sau trasează grafic funcţia indicială (răspunsul la intrare
treaptă). Funcţia poate fi aplicată atât obiectelor de tip idmodel cât şi obiectelor de tip iddata. Pentru
modele discrete m, funcţia indicială y şi deviaţia standard estimată ysd sunt calculate folosind funcţia
sim. Când este apelată cu argumentele de ieşire funcţia returnează vectorul de ieşire y, deviaţia standard a
lui y - ysd şi vectorul de timp t. Când este apelată fără argumentele de ieşire, funcţia va trasa pe ecran
graficul funcţiei indiciale.
Dacă argumentul de intrare este un obiect iddata, funcţia va estima un model FIR de ordin mare după
ce în prealabil datele au fost prefiltrate astfel încât intrarea să fie cât mai ”albă” cu putinţă. Răspunsul la
intrare treaptă al acestui model FIR este apoi afişat grafic. Dacă este apelată cu argumente de ieşire, şi

21
datele de intrare sunt de tip iddata funcţia returnează modelul FIR estimat sub forma unui obiect de tip
idarx. Ordinul filtrului care realizează prefiltrarea datelor poate fi setat modificând valoarea proprietăţii
pw. În mod implicit această valoare este 10.
Se pot utiliza diverse combinaţii de modele şi seturi de date ca argumente de intrare. Răspunsurile
fiecărui model sunt trasate separat, culorile şi stilul liniilor pot fi definite prin modificarea valorilor
proprietăţii PlotStyle.

Exemplul 3.5
Programul următor estimează trei modele de tip ARX şi afişează pe acelaşi grafic răspunsurile la
intrare treaptă pentru cele trei modele.

A =[1,-1.5, 0.7]
B =[ 0, 1, 0.5]
m=idpoly(A,B)
u=idinput(300,'prbs');
p=idinput(300,'rgs',[],[-0.1 0.1]);
y=sim(m,[u p]);
z=iddata(y,u,1)
idplot(z)
m1=arx(z,[1 1 1])
m2=arx(z,[2 2 1])
m3=arx(z,[2 1 1])
step(m1,'b-*',m2,'r--',m3)

Rezultatul rulării programului este prezentat în figura următoare.


From u1
10

6
To y1

0
-10 0 10 20 30 40 50
Time

■ Funcţia bode

Sintaxă: bode(m)
[mag, phase, w] = bode(m)

Descriere: Această funcţie calculează caracteristicile amplitudine – frecvenţă şi fază – frecvenţă pentru
un obiect de tip idmodel sau idfrd. Când este apelată fără argumentele de ieşire, funcţia afişează pe ecran
graficele cu caracteristicile de frecvenţă ale modelului.
Sintaxa bode(m, w) specifică explicit domeniul de frecvenţe utilizat pentru calcularea caracteristicilor de
frecvenţă. Dacă se doreşte analiza unui interval particular de frecvenţe [wmin, wmax], se setează
parametrul w={wmin, wmax}. Se va plota răspunsul sistemului pentru 100 de frecvenţe distribuite
logaritmic între wmin şi wmax.

■ Funcţia nyquist

Sintaxă: nyquist(m)
[fr, w] = nyquist(m)

Descriere: Această funcţie calculează caracteristica complexă de frecvenţă amplitudine – fază pentru un
obiect de tip idmodel sau idfrd. Când este apelată fără argumentele de ieşire, funcţia afişează pe ecran
graficul caracteristicii de frecvenţă a modelului.
Sintaxa nyquist(m, w) specifică explicit domeniul de frecvenţe utilizat pentru calcularea caracteristicilor
de frecvenţă. Dacă se doreşte analiza unui interval particular de frecvenţe [wmin, wmax], se setează

22
parametrul w={wmin, wmax}. Se va plota răspunsul sistemului pentru 100 de frecvenţe distribuite
logaritmic între wmin şi wmax.
Dacă proprietatea sd este diferită de zero, atunci este afişată şi regiunea de încredere a estimaţiei. Aceste
regiuni sunt elipse în planul complex şi corespund regiunilor în care se află răspunsul în frecvenţă al
sistemului cu o probabilitate dată de deviaţia standard (pentru o distribuţie gaussiană). Dacă argumentul
ce indică distribuţia standard este dat sub forma sd+5, regiunile de încredere sunt plotate la fiecare a 5-a
frecvenţă, centrul fiind notat cu +. Valoarea implicită este sd+10.

Exemplul 3.6

Programul următor estimează trei modele de tip ARX şi afişează caracteristicile amplitudine –
frecvenţă şi fază – frecvenţă (caracteristicile BODE) şi caracteristicile Nyquist pentru cele trei modele.

A =[1,-1.5, 0.7]
B =[ 0, 1, 0.5]
m=idpoly(A,B)
u=idinput(300,'prbs');
p=idinput(300, 'rgs', [], [-0.1 0.1]);
y=sim(m,[u p]);
z=iddata(y,u,1)
idplot(z)
m1=arx(z,[1 1 1])
m2=arx(z,[2 2 1])
m3=arx(z,[2 1 1])
bode(m1,'b-*',m2,'r--',m3)
pause
nyquist(m1,'b-*',m2,'r--',m3)

Rezultatele rulării programului sunt prezentate în figura următoare.

2 From u1 to y1
10

1
10
A m plitu de

0
10

-1
10
-3 -2 -1 0 1
10 10 10 10 10

0
-50
P hase (d egrees)

-100
-150

-200
-250
-300
-3 -2 -1 0 1
10 10 10 10 10
Frequency (rad/)

Nyquist Plot From u1 to y1


2

-2

-4
Im ag Axis

-6

-8

-10

-12

-14
-6 -4 -2 0 2 4 6 8 10 12
Real Axis

23
3.4 Afişarea polilor şi zerourilor modelului

■ Funcţia pzmap

Sintaxă: pzmap(m)
pzmap(m,'sd',sd,'mode',mode)

Descriere: Această funcţie plotează zerourile şi polii unui model m care este un obiect Matlab de tip
idarx, idgrey, idss, idproc sau idpoly. Zerourile sunt trasate folosind simbolul o iar polii modelului
folosind simbolul x. Polii şi zerourile de la infinit sunt ignoraţi. Dacă modelul pentru care sunt afişate
zerourile şi polii este discret atunci este trasat şi cercul de rază unitate. În cazul modelelor continue sunt
trasate axele imaginară şi reală.
Dacă proprietatea sd are o valoare mai mare decât zero, în jurul polilor şi zerourilor sunt trasate regiunile
de încredere. Valoarea implicită a acestui parametru este sd=0. Regiunile de încredere sunt simetrice în
jurul zerourilor şi polilor.
Dacă modelul m este multivariabil (are mai multe intrări şi ieşiri) există următoarele opţiuni pentru
afişare folosind parametrul mode:
- mode=’sub’ ecranul este împărţit într-un număr de subgrafice egal cu numărul de canale intrare-
ieşire;
- mode=’same’ toate graficele sunt trasate în aceeaşi diagramă;
- mode=’sep’ graficele sunt afişate în ecrane succesive. Trecerea de la un grafic la următorul se
face prin apăsarea tastei ENTER

Valoarea implicită a acestui parametru este mode=’sub’.

■ Funcţia tfdata

Sintaxă: [n,d]=tfdata(m)

Descriere: Această funcţie returnează numărătorul şi numitorul unei funcţii de transfer obţinută din
modelul m. Parametrii acestei funcţii sunt următorii:
- n: tablou de celule ce conţine numărătorul funcţiei de transfer;
- d: tablou de celule ce conţine numitorul funcţiei de transfer ;
- m: obiect de tip iddmodel ce reprezintă un model obţinut prin identificare.

În cazul în care m este un model monovariabil (cu o singură intrare şi o singură ieşire) pentru a
obţine numărătorul şi numitorul funcţiei de transfer sub formă de vectori (şi nu sub formă de celule)
atunci se foloseşte următoarea sintaxă:

[n,d]=tfdata(m,’v’)

Exemplul 3.7

Programul următor estimează un model de tip ARX (modelul notat me), după care numărătorul şi
numitorul funcţiei de transfer corespunzătoare acestui model sunt memorate în vectorii n şi d iar polii şi
zerourile corespunzătoare acestui model sunt afişate grafic împreună cu intervalele de încredere.

A =[1,-1.5, 0.7]
B =[ 0, 1, 0.5]
m=idpoly(A,B)
u=idinput(300,'prbs');
p=idinput(300, 'rgs', [], [-0.1 0.1]);
y=sim(m,[u p]);
z=iddata(y,u,1)
idplot(z)
me=arx(z,[2 2 1])
[n,d]=tfdata(me,'v')
pzmap(me,'sd',30)

24
TEME:

1. Să se ruleze exemplele prezentate în lucrare.


2. Considerăm un sistem discret descris de următoarea ecuaţie cu diferenţe:
y (t )  0.8* y (t  1)  0.6 * y (t  2)  0.5 * u (t  1)  u (t  2)  p (t )
Se cere:
a) să se creeze un model Matlab pentru acest sistem;
b) ştiind că zgomotul p(t) este de tip gaussian cu deviaţia standard 0.5, se cere găsirea celui mai bun
model ARX de ordin cel mult 5 care să descrie acest sistem precum şi parametrii acestui model.
c) Pentru modelul obţinut la punctul b) să se afişeze:
- gradul de asemănare între datele reale şi ieşirea modelului;
- funcţia de corelaţie a reziduurilor;
- funcţia pondere;
- funcţia indicială;
- caracteristica complexă de frecvenţă amplitudine-fază;
- caracteristicile BODE;
- funcţia de transfer corespunzătoare modelului;
- polii şi zerourile modelului împreună cu regiunile de încredere.

3. Considerăm un sistem discret descris de următoarea ecuaţie cu diferenţe:


y (t )  1.3* y (t  1)  0.55* y (t  2)  0.075* y (t  3)  0.7 * u (t  1)  p (t )
Se cere:
a) să se creeze un model Matlab pentru acest sistem;
b) ştiind că zgomotul p(t) este de tip gaussian cu media egală cu 1 şi deviaţia standard de 0.4, se cere
găsirea celui mai bun model ARX de ordin cel mult 5 care să descrie acest sistem precum şi
parametrii acestui model.
c) Pentru modelul obţinut la punctul b) să se afişeze:
- funcţia de corelaţie a reziduurilor;
- funcţia pondere şi funcţia indicială;
- gradul de asemănare între datele reale şi ieşirea modelului;
- caracteristica complexă de frecvenţă amplitudine-fază;
- caracteristicile BODE;
- polii şi zerourile modelului împreună cu regiunile de încredere.

25

S-ar putea să vă placă și