Sunteți pe pagina 1din 19

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:
1• Compararea ieşirii modelului obţinut cu ieşirea reală a sistemului
identificat;
2• Analiza reziduurilor;
3• Analiza răspunsului sistemului la intrări standard;
4• 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

■ 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”
1- data: este un obiect Matlab de tip iddata ce conţine datele
intrare-ieşire utilizate pentru validarea modelului.
2- 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 a ieşirii modelului. De asemenea funcţia permite analiza simultană a
mai multor modele dacă se utilizează sub forma:
compare(data,m1, m2, ..., mN)

Î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:
1- 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.
2- fit: este un număr ce arată gradul de asemănare (măsurat în
procente) între ieşirea reală şi ieşirea estimată.
3- 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) + e(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 e]);

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)
0

y1
y1. (sim)
-2
z;
-4 measu
red
-6 m1; fit:
8
24.01
-8
6 %
-10
4
50 100 150
2 timp

■ 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 valoarea 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) + e(t)
Zgomotul e(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');
e=idinput(400,'rgs');
y=sim(m,[u e]);
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ă 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:
1- data: este un obiect Matlab de tip iddata ce conţine datele intrare-
ieşire utilizate pentru validarea modelului.
2- m: este un obiect Matlab de tip idmodel ce reprezintă modelul care
trebuie validat.
3- 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;
4- init: determină cum sunt utilizate condiţiile iniţiale, astfel:
1• init=’estimate’: starea iniţială este estimată astfel încât norma erorii de
predicţie să fie minimizată; ea este returnată în parametrul x0;
2• init=’zero’: setează starea iniţială la zero;
3• init=’model’: utilizează starea iniţială a modelului;
4• init=x0i: x0i este un vector coloană ce conţine valorile stării iniţiale
specificate de utilizator.

2■ 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:
1- data: este un obiect Matlab de tip iddata ce conţine datele
intrare-ieşire utilizate pentru validarea modelului.
2- 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:
1• 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.
2• 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ă.
3• 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');
e=idinput(400,'rgs');
y=sim(m,[u e]);
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
1

0.5

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

0.4

0.2

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

lag

Funcţiile de corelaţie ale reziduurilor pentru modelul m1


Correlation function of residuals. Output y1
1

0.5

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

0.1

-0.1

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

lag

Funcţiile de corelaţie ale reziduurilor pentru modelul 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)
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');
e=idinput(300,'rgs',[],[-0.1 0.1]);
y=sim(m,[u e]);
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

y1To
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 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.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');
e=idinput(300,'rgs',[],[-0.1 0.1]);
y=sim(m,[u e]);
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ă
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');
e=idinput(300,'rgs',[],[-0.1 0.1]);
y=sim(m,[u e]);
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.

From u1 to y1
2
10

1
10
Amplitude

0
10

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

Frequenc
y (rad/)
Phase (degrees)

Nyquist Plot From u1 to


y1
2

-2

-4
Imag Axis

-6

-8

-10

-12

-14
-6 -4 -2

Real Axis

3.4 Afişarea polilor şi


zerourilor modelului

1■ 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:
1- mode=’sub’ ecranul este împărţit într-un număr de subgrafice
egal cu numărul de canale intrare-ieşire;
2- mode=’same’ toate graficele sunt trasate în aceeaşi diagramă;
3- 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:
1- n: tablou de celule ce conţine numărătorul funcţiei de transfer;
2- d: tablou de celule ce conţine numitorul funcţiei de transfer ;
3- 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');
e=idinput(300,'rgs',[],[-0.1 0.1]);
y=sim(m,[u e]);
z=iddata(y,u,1)
idplot(z) me=arx(z,[2
2 1])
[n,d]=tfdata(me,'v')
pzmap(me,'sd',30)
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) + e(t)
Se cere:
1) să se creeze un model Matlab pentru acest sistem;
2) ştiind că zgomotul e(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.
3) Pentru modelul obţinut la punctul b) să se afişeze:
2- gradul de asemănare între datele reale şi ieşirea modelului;
- funcţia de corelaţie a reziduurilor;
1- funcţia pondere;
2- funcţia indicială;
3- caracteristica complexă de frecvenţă amplitudine-fază;
4- caracteristicile BODE;
5- funcţia de transfer corespunzătoare modelului;
6- 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) + e(t)
Se cere:
1) să se creeze un model Matlab pentru acest sistem;
2) ştiind că zgomotul e(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.
3) Pentru modelul obţinut la punctul b) să se afişeze:
1- funcţia de corelaţie a reziduurilor;
2- funcţia pondere şi funcţia indicială;
3- gradul de asemănare între datele reale şi ieşirea modelului;
4- caracteristica complexă de frecvenţă amplitudine-fază;
5- caracteristicile BODE;
6- polii şi zerourile modelului împreună cu regiunile de încredere.

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