Documente Academic
Documente Profesional
Documente Cultură
LUCRARE DE LICEN
Coordonator:
Absolvent:
tefania
TRGOVITE
IULIE 2013
1
CUPRINS
INTRODUCERE........................................................................................................ 5
Sisteme liniare........................................................................................................ 6
1.1 Problematica [2].................................................................................................. 6
1.2 Sisteme liniare cu timp continuu [2].........................................................................7
1.3 Sisteme liniare cu timp discret [2]..........................................................................13
1.4 Reprezentarea sistemelor prin ecuaii de stare [2],[6]...................................................16
1.5 Determinarea modelului sistemic din sistemul algebric de ecuaii Laplace [1]....................18
1.6 Funcia de transfer [1],[7]..................................................................................... 20
1.7 Polinomul caracteristic [2],[6]............................................................................... 21
CAPITOLUL II......................................................................................................... 23
Noiuni teoretice referitoare la stabilitatea sistemelor liniare continue......................................23
2.1 Conceptul de stabilitate [1], [5], [7]........................................................................23
2.1.1. Stabilitatea intern [1], [5]...................................................................23
2.1.2. Stabilitatea extern [1], [5].................................................................25
2.2. Criterii algebrice [1], [5], [6]......................................................................27
2.2.1. Criteriul Hurwitz: [5], [6]......................................................................27
2.2.2. Criteriul Routh-Hurwitz [1], [5], [6]....................................................28
2.3. Criterii frecveniale [4]............................................................................... 33
2.3.1. Criteriul lui Nyquist [2],[4]...................................................................34
2.3.2. Criteriul lui Bode [1]............................................................................. 36
2.3.3. Locul geometric al rdcinilor [2], [7]..................................................37
CAPITOLUL III........................................................................................................ 40
Crearea interfeelor grafice cu ajutorul GUI Matlab..........................................................40
3.1 Instrumentele programrii n Matlab [8]...................................................................40
3.2 Funcii pentru construirea interfeelor grafice GUI Matlab [8].....................................43
3.3 Construirea interfeelor grafice GUI [8]...................................................................50
3
3.4 Alte funcii utile n concepia unei interfee grafice GUI [8]...........................................57
3.5 Crearea meniurilor pentru interfeele grafice [8].........................................................59
CAPITOLUL IV........................................................................................................ 60
Studierea stabilitii sistemelor liniare continue cu ajutorul criteriilor algebrice i frecveniale........60
3.1 Descrierea aplicaiei [3],[8].................................................................................. 60
3.2 Funcia Callback [3],[8].................................................................................... 64
3.3 Analiza sistemelor n bucl deschis i bucl nchis...................................................73
3.3.1 Sistemul este stabil n bucl deschis i instabil n bucl nchis................................73
3.3.2 Sistemul este stabil att n bucl deschis ct i n bucl nchis................................75
CONCLUZII............................................................................................................ 76
BIBLIOGRAFIE....................................................................................................... 77
INTRODUCERE
Sisteme liniare
1.1 Problematica [2]
. Spaiul U al funciilor
. Valoarea u(t)
la momentul t i este un vector m-dimensional ale crui componente u 1 (t), u 2 (t),u m (t)
reprezint cele m intrri (fizic distincte) ale sistemului considerat, m 1.
(d) Spaiul ieirilor este spaiul euclidian p-dimensional
este mulimea funciilor continue y(.) :
. Valoarea y(t)
la un moment dat t
(1)
y(t) = C x (t)
(2)
X, u(t)
si y(t)
, iar A
nxn
,B
i C
nxp
sunt
matrici constante.
n cele ce urmeaz voi presupune c elementele definitorii (a)-(d) sunt fixate i n general
voi emite calificativele cu timp continuu, finit-dimensional, multivariabil i constant. Voi
spune, pe scurt, c tripletul de matrici (A,B,C) definete un sistem liniar prin ecuaiile de
stare (1), (2) i voi nota = (A,B,C) n . Dimensiunea n dim X a spaiul strilor X=
( t ) A
Bu ( ) d
(3)
(3 a)
n care :
(t)
e tA =
tk k
A
k 0 k !
(4)
Observaia 1. innd seama de faptul c seria matricial (4) converge absolut i uniform
pe orice subinterval finit al axei reale, se poate arta uor c familia (t), t are
proprietatea de grup comutativ.
(t) (t ' ) = (t ' ) (t) = (t+t ' ), t, t '
De asemenea este clar c (0) = I n . De aici rezult ntre altele c (t) este
inversabil i
(t) = (-t), t
. Aceasta
continuu este reversibil, adic evoluia sa intern este definit prin relaia (3) nu numai pe
intervalul de timp viitor t 0, ci i pentru t 0, adic n ultim instan pentru orice t
Ce
( t ) A
Bu ( ) d
(5)
T (t )u ( )d
(5 a)
n care :
T(t) C e tA B
reprezint matricea pondere de forma p
(6)
tk k
T(t) = A B,
k 0 k!
(6 a)
unde matricele :
d k T (t )
dt k
t 0
=CA k B, k 0
(6 b)
(1 ' )
y(s) = Cx(s)
(2 ' )
x( s)
u ( s)
x0
y ( s)
(7)
A sI n
C
(8)
De forma (n + p)
= (A,B,C) .
Din (1 ' ) rezult :
x(s) = (sI n - A) 1 x 0 + (sI n - A)
Bu(s),
n care :
10
(3 ' )
(s) = (sI n - A) 1 =
Ak
k
k 0 s 1
(4 ' )
(s) este transformata Laplace a matricei de tranziie cauzale (t), prin definiie egal cu
(t) = e tA pentru t 0 i nul pentru t 0).
Se constat c (s) este o matrice raional strict proprie de forma :
(s) = (sI n - A) 1 =
G (s)
,
( s)
(9)
unde = det (sI n - A) este polinomul caracteristic a lui A, iar G(s) reprezint matricea
asociat a lui (sI n - A). (Amintim c prin definiie elementele g ij ale lui G(s) sunt
complemenii algebrici ai elementelor (j, i) din matricea (sI n - A) ). Pe de alt parte, este util
s observm c n general expresia raional (9) a lui (s) este reductibil, adic polinoamele
L( s )
,
( s)
(10)
sI n - A. n particular, expresia
raional (9) este ireductibil, deci (s) = (s), dac i numai dac matricea A este ciclic.
Amintim c polinomul minimal (s) al lui A este polinomul monic de grad minim cu
proprietatea c (A) = 0 sau, echivalent, (A)x = 0, x
numete i polinomul minimal al spaiului X =
Hamilton afirm c (A) = 0, deci n orice caz avem grad (s) n = grad (s).
Matricea A se zice ciclic dac exist un vector b X astfel nct vectorii b, Ab,..., A
n 1
b sunt independeni. n acest caz o egalitate de forma (A)b = 0 cu grad (s) = kn este
(s) = (s).
11
(6 ' )
(Evident , T(s) este transformata Laplace a matricei pondere cauzale T (t), prin definiie
egal cu T(t) = C e tA B pentru t 0 i nul pentru t0).
Semnificaia n acest context al parametrilor Markov definii anterior prin (6 a), (6 b),
rezult direct din relaiile (4 ' ) i (6 ' ). Avem :
T(s) =
CA
Bs ( k 1)
(6 ' a)
k 0
i n particular :
lim sT(s) = CB
(6 ' b)
Pe de alt parte, innd seama de relaiile (9) sau (10), din (6 ' ) concludem imediat c
T(s) este o matrice raional strict proprie de forma :
T(s) =
CG ( s ) B
( s)
(9 ' )
CL( s ) B
( s)
(10 ' )
sau :
T(s) =
Evident, T(s) caracterizeaz complet proprietile de transfer ale lui n stare iniial
nul (relaia (5 a)). Aceast constatare elementar constituie punctul de plecare a teoriei
algebrice a sistemelor liniare.
12
= {0, 1,}.
(b) Spaiul strilor X este spaiul euclidian n-dimensional
(c) Spaiul intrrilor este spaiul euclidian
mulimea tuturor irurilor u(.) :
,X=
(11)
y(t) = Cx(t),
(12)
i y(t)
nm
i C
p n
t 1
x0 +
t k 1
Bu ( k )
(13)
k 0
n care :
(t) = A t , t
(14)
n a lui .
are proprietatea
de semigrup comutativ:
(t) (t ' ) = (t ' ) (t) = (t + t ' ), t, t '
Altfel spus, sistemul liniar discret este, n general, nereversibil, adic evoluia sa
intern este definit prin relaia (13) numai pe intervalul de timp viitor t 0, dar nu i pentru t
0. (Consecinele acestui fapt, prin care sistemele cu timp discret se deosebesc de cele cu
timp continuu, vor fi evideniate mai departe). Din (14) rezult imediat c este reversibil,
adic 1 (t) = (- t) exist pentru orice t
nesingular.
irul de ieire y(.) Y corespunztor strii iniiale x(0) = x 0 i irului de intrare u(.)
rezult din (12) i (13) sub forma :
y(t) = f(t, x 0 , u(.) )
CA t x 0 +
t 1
CA
t k 1
Bu ( k )
(15)
k 0
n care :
T(t) =
0
t 1
CA B
t 0
t 1,2,...
(16)
n particular, matricea de transfer T(z) a sistemului liniar discret definit prin ecuaiile
de stare (11), (12) este exact de forma :
T(z) = C(yI n - A) 1 B
(16 ' )
Pe de alt parte, semnificaia n acest context al parametrilor Markov rezult direct din
(16); innd seama c matricea de transfer T(z) este transformata Z a matricei pondere T(t)
(prelungit prin 0 pentru t 0) obinem :
T(z) =
CA
Bz ( k 1)
(16 ' a)
k 0
i n particular :
lim zT(z) = CB
(16 ' b)
Aceste constatri subliniaz faptul c, din punct de vedere algebric, sistemele liniare
cu timp continuu i discret au un substrat comun i constituie argumentul de principiu al
dezvoltrii unei teorii unitare a sistemelor liniare, n esen independente de specificul
dinamic concret (continuu sau discret) al acestor sisteme.
15
(17)
unde u este vectorul mrimilor de intrare, x este vectorul variabilelor de stare i y este
vectorul variabilelor de ieire.
Un avantaj al metodei reprezentrii n spaiul strilor este c aceast form duce uor la
determinarea soluiei ecuaiei prin metode de calcul discrete i / sau analogice. n plus,
metoda reprezentrii n spaiul strilor poate fi uor extins la analiza sistemelor neliniare.
Ecuaia de stare poate fi obinut dintr-o ecuaie diferenial de ordin n sau direct din modelul
sistemului, prin identificarea variabilelor de stare proprii.
Variabile de stare
Pentru a ilustra modul de selecie a unui set de variabile de stare, voi considera un
model al unui sistem liniar de ordin n descris de urmtoarea ecuaie diferenial:
(18)
unde y(t) este ieirea sistemului i u(t) este intrarea sa. Un model de stare pentru acest
sistem nu este unic, fiind dependent de alegerea unui set de variabile de stare. O modalitate de
alegere a unui set de variabile de stare, este urmtoarea:
16
Voi exprima:
i voi
(19)
ecuaia ieirii fiind:
y = [1 0 0 . . . 0]x
(20)
17
ai .
i 0
m
diy
d ju
b
.
j
dt i
dt j
j 0
(21a)
n care y(t) este ieirea iar u(t) este intrarea sistemului, prin aplicarea transformatei
Laplace ambilor membri i considernd toate condiiile iniiale (ale funciilor y(t) i u(t) i ale
derivatelor lor) nule, se obine:
n
i 0
j 0
Y(s) a i s i U ( s ) b j s j
(21b)
Y ( s)
H(s)
U (s)
(21c)
La o ecuaie de tipul (21a) se ajunge: fie direct, ca urmare a unei condiii generale de
echilibru (ecuaii dAlembert pentru sisteme mecanice, ecuaii Kirchhoff n instantaneu pentru
circuite electrice, etc.), fie indirect (dac sistemul are o structur mai complicat), scriind
pentru cele N mrimi semnificative marcate n sistem (inclusiv y(t) i u(t)) un numr de N-1
ecuaii integro-difereniale independente i procednd apoi la eliminarea mrimilor
intermediare, pentru a ajunge la o legtur de forma (21c) ntre u(t) i y(t).
Sistemul de ecuaii integro-difereniale, care descriu complet funcionarea unui
subsistem fizic, formeaz modelul matematic al acestuia; prin aplicarea transformatei Laplace
ecuaiilor integro-difereniale, se obine un sistem de ecuaii algebrice, care cuprinde ca
variabile att imaginile Laplace ale intrrii i ieirii ct i imaginile Laplace ale unor mrimi
interne, intermediare, necesare descrierii subsistemului fizic.
Dac se pstreaz lanul cauzal (de la mrimea de intrare la mrimea de ieire,
incluznd toate mrimile intermediare) conform sistemului de ecuaii Laplace, se poate obine
o structur de sistem cu blocuri intrare-ieire, care reprezint modelul sistemic al
subsistemului fizic. Modelul sistemic nu reflect structura constructiv a subsistemului fizic,
18
Laplace a derivatei de ordin maxim a unei variabile, adic produsul s n xi (s), unde n este
gradul maxim al polinoamelor din ecuaie (i=1, N-1 numr variabilele intermediare)
-
(22)
fiecare ecuaie din acest sistem algebric, ordonat, se transpune ntr-o schem n
care: coeficienii variabilelor X 1 (s) sunt funcii de transfer ale blocurilor, sumele algebrice
devin sumatoare, etc.
19
Y ( s)
L{y(t)}
X ( s)
L{x(t)}
(23a)
Y ( z)
X ( z)
(23b)
20
A xI n
a 11 x
a 21
A xI n
...
a
n1
a 12
a 13
...
a 1n
a 22 x
...
a 23
...
...
...
a 2n
...
a n2
a n3
...
a nn x
(20)
Polinomul det A xI n este de gradul n.
Produsul elementelor de pe diagonala principal conine termenul 1 n x n , oricare alt
produs va conine cel mult n-2 elemente de pe diagonala principal, deci va conine puterea
n 1
x n 2 . Coeficientul lui x n 1 este 1 a 11 a 22 a 33 . . . a nn , iar termenul liber al
matricii A, iar rdcinile sale se numesc valori proprii ale acestei matrici.
Matricile A i B se numesc matrici asemenea dac exist matricea inversabil Q, astfel
nct B Q 1 AQ .
Teorem: Dou matrici asemenea au acelai polinom caracteristic i aceleai valori
proprii.
Teorem: Matricile AB i BA au acelai polinom caracteristic.
Teorema lui Hamilton-Cayley: Orice matrice ptratic i satisface propria ecuaie
caracteristic.
p A A On , A M
(24)
a 11 a 12
p A x x 2 tr A x det A , unde tr A a 11 a 22
a 21 a 22
(25)
(26)
A1 A
B1 A 1 c1 I n
1
tr A 2
B2 A 2 c 2 I n
2
1
A 3 AB 2
c 3 tr A 3
B3 A 3 c 3 I n
3
............................................................
1
.A k AB k 1
ck
tr A k
Bk A k c k I n
k
............................................................
A 2 AB1
c2
.A n AB n 1
cn
1
tr A n
n
Bn A n c n I n 0n
Tabelul 1
1
B n 1 .
cn
A 1 .
p A A A n c1 A n 1 c 2 A n 2 . . . c n 1 A c n I n 0 n
(27)
de unde:
A 1
1
A n 1 c1 A n 2 c 2 A n 3 . . . c n 1 I n
cn
22
(28)
CAPITOLUL II
Stabilitatea unui sistem este proprietatea acestuia de a rmne ntr-un regim staionar
att timp ct asupra lui nu acioneaz nici o mrime exterioar sau de a restabili un nou regim
staionar dup ncetarea aciunii unei perturbaii care l-a scos din vechiul regim staionar.
Exist dou tipuri de stabilitate : intern (numit i n sens Liapunov) i extern
(numit i n sens intrare mrginit, ieire mrginit sau BIBO (Bounded Input,Bounded
Output)).
e At , t R
lim (t ) 0, unde : (t )
t
(29)
A , t Z
t
lim x1 (t ) lim (t ) x0 0
t
(30)
Din punct de vedere practic, verificarea stabilitii interne asimptotice se face utiliznd
urmtoarea teorem:
Un sistem este intern asimptotic stabil dac:
Re ( i ) 0, t R n cazul sistemelor cu timp continuu
i
24
d e i t U 1 (0) .
2.1.2. Stabilitatea extern [1], [5]
h (t)
c
(31)
h (t)
t 0
(32)
Din punct de vedere practic, verificarea stabilitii externe stricte se face urmtoarea
teorem:
Re (p i ) 0, t R n cazul sistemelor cu timp continuu
pi
(33)
(34)
r ( )
, adic soluiile ecuaiei p( ) =
p ( )
0.
O definiie alternativ a stabilitii externe este:
Un sistem este extern strict stabil dac i numai dac M 0, astfel nct pentru ( )
u(t) N, t 0,
y(t) M .
25
Altfel spus dac sistemul este extern strict stabil la o intrare mrginit, ieirea este tot
mrginit (BIBO). Se poate demonstra c aceast condiie se ndeplinete numai dac relaiile
(31) i (32) sunt respectate.
Observaie: innd cont c H( ) = c T (I A) 1 b c T
(I A)
b polii funciei de
det(I A)
transfer sunt o submulime a valorilor proprii ale matricei A. Prin urmare dac un sistem este
intern asimptotic stabil atunci el este i extern strict stabil. n schimb este posibil ca un sistem
s nu fie intern asimptotic stabil dar s fie extern strict stabil. Acest lucru se ntmpl dac n
urma aducerii H( ) la forma ireductibil se simplific polii situai n zona de instabilitate.
Prin criterii de stabilitate se neleg criteriile de localizare a rdcinilor unui polinom n
interiorul cercului unitate.
n practica inginereasc se cunosc de peste 120 de ani criteriile de localizare a
rdcinilor unui polinom n semiplanul stng, criterii ce asigur stabilitatea sistemelor
analogice (cu timp continuu, descrise de ecuaii difereniale).
26
n cazul sistemelor LTI (Linear Time Invariant) studiul stabilitii sistemelor se refer la
rezolvarea ecuaiei caracteristice corespunztoare sistemului studiat. Dac se consider un
sistem caracterizat prin funcia de transfer H(s) = B(s) / A(s) , atunci ecuaia caracteristic a
sistemului este:
A(s) =
*s +
=0
(35)
Prin rezolvarea acestei ecuaii se obin polii sistemului, amplasarea acestor valori n
planul complex va determina ulterior stabilitatea sistemului. Cu ajutorul criteriilor algebrice
de stabilitate se determin stabilitatea sistemelor fr a rezolva aceast ecuaie caracteristic.
(36)
Condiia de stabilitate , conforma criteriului lui Hurwitz este ca toi minorii dup
diagonala principal s fie pozitivi:
det(D1 ) > 0 det(D2 ) > 0 det(Dn ) > 0 .
Exemplu :
Fie polinomul caracteristic al sistemului :
P 0 (s) = s 4 2s 3 s 2 3s k
27
(37)
Utiliznd criteriul lui Hurwitz, s se determine k, astfel nct sistemul s fie stabil.
Rezolvare:
Se formeaz determinantul lui Hurwitz:
H=
2
1
3
1
2
1
0
k
3
1
0
0
0
Presupunnd k > 0, condiia necesar i suficient pentru ca sistemul s fie stabil este ca
determinanii principali s fie strict pozitivi. Deci, calculm minorii :
H 1 =2 > 0,
H2
2
1
3
1
28
(38)
Dac n acest polinom unul sau mai muli coeficieni sunt nuli, sau dac nu toi
coeficienii au acelai semn, atunci n mod sigur exist rdcini pozitive i criteriul nu
prezint interes. n cazul n care an =1 atunci restul termenilor trebuie s fie pozitivi.
Cu ajutorul coeficienilor polinomului se formeaz matricea (39),
an
an 2
an 4 ........ a2
a0
an-1
an- 3
an- 5......... a1
b1
b2
b3
c1
c2
c3 ............ 0
.................................................................
(n-2 )1
(n-2 )2
0 ........... 0
(n-1 )1
0 .......... 0
n1
0 ........... .0
(39)
unde primele dou linii sunt formate din coeficienii polinomului iar urmtoarele se
calculeaz cu relaiile:
b1
an 1 an 2 an an 3
a a an an 5
b a b2 an 1
; b2 n 1 n 4
;....c1 1 n 3
;
an 1
an 1
b1
b a b3 an 1
(n 1)1 (n 2) 2 0
c2 1 n 5
..........................n1
b1
(n 1)1
(40)
Toate locurile libere din tabel se vor considera 0 i calculul se continu pn se obine o
linie ce conine un singur termen.
Criteriul se refer la prima coloan a matricei, adic:
an , an 1 , b1
c1 ,........, ( n 2)1
( n 1)1
n1
(41)
29
- Primul termen dintr-o linie este nul, caz n care nu se mai pot calcula ceilali termeni.
Pentru continuarea calculelor se va nlocui termenul cu un numr mic, pozitiv i se vor
continua calculele.
- Toi termenii unei linii sunt nuli. In acest caz exist dou rdcini pur imaginare i
sistemul este oscilant ntreinut. Calculul matricei se va continua prin nlocuirea liniei de
zerouri cu o linie format din derivarea polinomului liniei precedente, fcndu-se
presupunerea c fiecare linie corespunde unui polinom avnd puterile n, n-2, n-4,pentru
prima linie, n-1, n-3, n-5, pentru a doua linie i aa mai departe.
La ntocmirea tabelului (39), pentru uurarea calculelor, se va ine cont de urmtoarele
reguli:
- Toi termenii unei linii pot fi nmulii cu o constant pozitiv, pentru simplificare. n
acest sens termenii unei linii pot fi de exemplu nmulii cu numitorul din relaiile (40),
simplificnd astfel calculul termenilor dar, semnul numitorului trebuie pstrat.
- Polinomul (38) poate fi simplificat printr-o schimbare a scrii timpului p = kP unde k
se ia de obicei o putere a lui 10, sau prin nmulirea polinomului cu o constant.
Tratarea teoretic a acestui criteriu se poate face i n alte moduri , n literatur fiind
prezentat prin calculul determinantului Hurwitz i minorii nord vest ai acestuia, metoda
necesitnd un volum de lucru mai redus, unii autori prezentnd aceast metod sub numele de
Criteriul de stabilitate Lienard-Chipard. innd cont de aceast
metod , cu ajutorul
30
H =
a n 1
a n 3
a n 5
a n -7 .................... 0
an
a n- 2
a n- 4
a n -6 .................... 0
a n 1
a n 3
a n 5 ................... 0
an
a n2
a n -4 .................... 0
...................................................................................
0 ............................................................... b2 b0 0
0 ..............................................................b3 b1 0
0 .............................................................b
b2 b0
n conformitate cu acest criteriu, sistemul este stabil (toi polii funciei de transfer
sunt situai n semiplanul stng al planului s, numai dac H > 0 i toi minorii dup
diagonala principal sunt pozitivi.
Dac aceast condiie nu este ndeplinit, pentru fiecare minor H k < 0 corespunde un
pol n semiplanul drept al planului s i sistemul este instabil.
Determinanii minori nord-vestici sunt:
b 1n bn-3
b 1n bn-3 bn-5
1 1n ;b 2 ; 3 bn bn-2 bn-4 .
bn bn-2
0 bn-1 bn-3
Informaiile date de acest criteriu sunt relativ reduse deoarece nu d indicaii asupra
ponderii coeficienilor ak asupra stabilitii. n acelai timp, nu avem informaii asupra poziiei
polilor fa de limita de stabilitate i, mai mult, criteriul devine laborios pentru polinoame de
ordin ridicat.
31
13
41
65
(P7)
0
66
193
36
(P6)
0
-1
12
289
900
(P5)
0
1,26
16,38
180
45,36
(P5)
0
31,4
(P3)
0
(P3)
0
126
819
409,5 1134
(P2)
0
2,580 14,29
(P1)
0
3,13
(P0)
0
14,29
Tabelul 2
Sistemul descris de ecuaia caracteristic dat este instabil deoarece exist dou
schimbri de semn n prima coloan (+5, -1, +1,26), adic exist dou rdcini cu parte real
pozitiv. Mai mult, exist i dou rdcini pur imaginare indicate de linia de zerouri aprut n
matrice la linia (P3) i care a fost nlocuit cu derivata polinomului (P 4). Dac ne intereseaz
32
33
Reprezentarea n frecven a unui sistem se obine prin aplicarea la intrare a unui semnal
sinusoidal de frecventa f
invariabili n timp (sisteme LTI) aceasta determin apariia unui semnal de sinusoidal cu
amplitudine i faz diferite fa de semnalul de intrare :
intrare
A sin t
A sin t
ieire
A H j sin t
A H j sin t
H(s)
34
Aceste metode sunt utile pentru c ofer informaii i referitoare la gradul de stabilitate
al sistemului. Pentru studiul stabilitii sistemelor n bucl nchis se pornete de la
urmtoarea schem:
H d (s)
1 H d ( s)
(42)
35
|HG( )|=
(-1, j0)
= +
Im(HG(s
)
2
3
c
1
=
+0
(|HG( )|
c
=1)
Mc =
1
Margine de ctig sau de amplitudine
H d(j )
unde:
dB
fie stabil este ca, raportat la gradarea pe axa , H() s taie axa nainte ca ( ) s taie
dreapta . Suma ( c ) , unde H( 0 ) dB =0, se numete margine de faz i se
noteaz cu , sau , iar H( )
dB
s 0
s 0
(43)
s 0
s 0
unde :
37
(44)
|H(s)|=A()|dB = 20 log10|
H(s)|
log
scara logaritmica
-180
log
scara
logaritmica
determina stabilitatea
sistemului:
38
(s z )
i
H b (s) K in1
(45)
(s p )
i
i1
unde:
z i reprezint zerourile sistemului n circuit deschis;
p i polii sistemului n circuit deschis;
K factorul de amplificare dinamic.
Funcia de transfer n circuit nchis va fi de forma:
m
H (s)
H 0 (s) b
1 H b (s)
K (s zi )
i 1
(s p ) K (s z )
i
i 1
i 1
(46)
S ( s) ( s pi ) K ( s z i ) 0
i 1
(47)
i 1
Locul geometric al rdcinilor nu este altceva dect distribuia valorilor rdcinilor ecuaiei
caracteristice pentru diverse valori ale factorului de amplificare total.
Dificultile de trasare a locului rdcinilor sunt generate de faptul c ecuaia caracteristic
este una algebric, de grad superior i soluionabil cu greutate.
Metoda locului geometric al rdcinilor, ca metod de analiz i sintez a sistemelor de
reglare automat, s-a impus ntr-o perioad n care tehnica de calcul nu era practic accesibil.
Din acest motiv, procedura de trasare a locului rdcinilor a fost conceput ca metod grafoanalitic. Bazat pe o serie de reguli de trasare metoda permite posibilitatea trasrii
aproximative a locului rdcinilor (uneori, aproximaiile rezultate sunt inacceptabil de mari).
Aceste reguli, sub raport al obinerii reprezentrii grafice, sunt de domeniul trecutului. ns,
39
dac dorim exploatarea graficului obinut pentru sinteza SRA (sisteme de reglare automat),
cunoaterea acestor reguli devine esenial.
La trasarea locului rdcinilor se utilizeaz urmtoarele reguli:
1. Punctele de plecare sunt (k=0) polii p i ai funciei de transfer n circuit deschis. Deci
locul are n ramuri.
2. Punctele de sosire (k=) la distana finit sunt zerourile z i ale funciei de transfer n
circuit deschis. Deci m ramuri se nchid la distana finit. Celelalte n-m ramuri se
nchid n punctul de la infinit.
3. Comportarea asimptotic a locului (a ramurilor care merg la )
-
direciile asimptotice
i (2 ) /( n m),
= 0,1,2,,n-m+1;
(48)
i 1
i 1
s med ( pi z i ) /(n m)
(49)
4. Poriunile reale ale locului rdcinilor sunt acelea care au la dreapta lor un numr
impar de poli i zerouri, luate la un loc.
5. Interseciile cu axa real (corespunznd la rdcini reale duble),
se determin din
ecuaia:
n
i 1
i 1
1 /( pi ) 1 /( z i ) 0.
(50)
40
CAPITOLUL III
Procesul de a scrie un cod n Matlab pentru a crea un GUI (Graphical User Interface) se
numete GUI design. Acesta are o serie de principii de care trebuie s se in seama atunci
cnd se creeaz o aplicaie: simplicitate, consisten i familiaritate. Rezultatul ce se obine
este o interfa dinamic asupra creia utilizatorul poate aciona ntr-o manier imediat,
continu i reversibil. ns nainte de a implementa orice GUI acesta trebuie s fie creat.
Etapele crerii unui GUI n Matlab sunt urmtoarele:
Primele dou etape ale crerii unei aplicaii n Matlab sunt foarte dificile deoarece
utilizatorul are de rezolvat o problem din lumea real pe care trebuie s o abstractizeze ntr-o
asemenea manier nct numai cele mai importante informaii s fie considerate.
innd cont de aceste lucruri, utilizatorului nu i mai rmne apoi dect s scrie codul
surs al prototipului. Pot exista multe ncercri n acest demers, numrul lor depinznd de
experiena utilizatorului n astfel de cazuri. Procesul de design va fi terminat n momentul n
care modelul va fi n stare s satisfac toate cerinele noastre.
41
Object
Browser
Align
Objects
Meniu
Editor
Property
Ispector
PROPERTY INSPECTOR
Fiecare obiect n MATLAB are un anumit numr de proprieti. De exemplu o figur are
printre proprietile sale, una numit COLOR. Pentru a vizualiza i eventual a modifica una
dintre acestea, n linie de comand este foarte dificil de realizat deoarece sintaxa comenzilor
este greu de inut minte. Property Inspector ajuta ns utilizatorul s modifice toate aceste
caracteristici ntr-o maniar interactiv.
Exemplu :
42
n linie de comand, pentru a trasa funcia t*sin(t) trebuie s scriem urmtorul cod:
t=0:0.1:100;
plot(t,t.*sin(t));
get(gcf, 'Color')
ans =
0.8000
0.8000
0.8000
Cu ajutorul lui Property Editor, trebuie doar s gsim i mai apoi s modificm
proprietatea obiectului numit COLOR n fereastra urmtoare :
modificarea culorii
fr a fi nevoie de a
scrie un cod de
program
ALIGN OBJECTS
Acest instrument permite modificare aranjamentului obiectelor grafice coninute de o
interfa, fie ntr-o manier orizontal sau vertical. Pentru a putea utiliza aceast opiune
trebuie ca obiectele s aib un anumit plasament iniial.
MENU EDITOR
Cu ajutorul acestui instrument putem aduga un nou meniu de tip pull-down unei figuri.
Aceste meniuri nou adugate sunt suplimentare fa de cele ce aparin de o manier implicit
figurii create: File, Edit, Window, Help. Noul meniu nu va fi afiat dac figura nu este activ.
43
Figure
Axes
Image
Light
Line
Figure
Uimenu
Uicontrol
Patch
Figure
Surface
Text
Obiectele grafice sunt create prin primitivele definite n sistemul Handle Graphics din
Matlab. Aceste obiecte sunt organizate n structuri ierarhice care reflect interdependena
obiectelor grafice. De exemplu, obiectul Linie (Line) impune existena obiectului Axe (Axes).
La rndul su obiectul Axe exist numai dac exist obiectul Figura cu obiecte (Figure).
Obiecte grafice
Sunt 11 tipuri de obiecte grafice organizate pe 4 nivele ierarhice:
Root - este obiectul din topul ierarhiei i corespunde la screen-ul computerului.
Matlab creeaz automat acest obiect la nceputul fiecrei sesiuni.
Figure acestea sunt obiecte de tip fereastr plasate n obiectul Root i create prin
funcii grafice executate n fereastra de comenzi a Matlab sau prin rularea fiierelor M-file
care le genereaz.
Uicontrol sunt obiecte de control a interfeelor grafice create de utilizator care
execut anumite funcii la activarea obiectului. Din aceast categoriile fac parte obiectele:
pushbutton, slider, Listboxe, pup-upmenu, edit, frame, check button, radio button. Ele se
44
regsesc n instrumentul Guide Control Panel din meniul File al ferestrei de comenzi din
Matlab i devin disponibile odat cu trecerea unuia din obiectele din lista cu figuri (deci a
unui obiect de tip Figure existent sau proaspt creat cu AddFigure), n stare controlled. Prin
tehnica drag and drop, obiectele pot fi adugate n Figura cu obiecte n care dorim plasarea
unor astfel de elemente de control.
Axes obiecte care definesc regiuni din obiectul fereastra pentru posibile reprezentri
grafice. El este pe poziia ierarhic de children.
Uimenu obiectele sunt meniul de interfa creat de utilizator plasat n partea de sus
a ferestrei figur.
Image obiecte cu afiare n dou dimensiuni care utilizeaz elementele unei matrice
rectangulare ca indici ai unei hari de culoare.
Line obiectele sunt primitive grafice pentru reprezentri grafice cel puin n dou
dimensiuni.
Patch obiectul reprezint poligoane umplute cu muchii. Un singur obiect al unui
patch, poate conine multiple faete, fiecare colorat diferit cu o nuana solid sau prin culori
interpolate.
Surface obiecte tridimensionale care sunt reprezentri de matrice de date, sunt
create prin reprezentarea grafic a unui punct la nlime fa de planul x-y. Cu alte cuvinte
45
fiecare valoare numeric dintr-o matrice, poate fi cota z a unui punct reprezentat n OXYZ.
Fiecare matrice sau tablou de valori numerice are o reprezentare spaial de tip suprafa.
Text obiectele sunt iruri de caractere. Ele sunt generate ca obiecte grafice prin una
din funciile care aplic text n figuri: text, gtext, xlabel, ylabel, zlabel, title, legend, etc.
h=
h=plot(A);
77.0005
1.0021
74.0011
75.0006
Aceste valori sunt irelevante pentru utilizator dar ele sunt de fapt argumente ale
funciilor de manipulare grafic din Matlab: gcf, gca, gco. Toate funciile Matlab care creeaz
obiecte returneaz identificatorii acestora. tergerea unui obiect cu delete, impune ca
argument pentru aceast funcie identificatorul de obiect. De exemplu axele curente se terg
cu sintaxa:
>>delete(gca);
Aceste funcii au numele n funcie de obiectul pe care l creeaz. Ele se numesc funcii
de nivel sczut i reprezint primitive n generri grafice n Matlab. De exemplu Figura cu
obiecte se creeaz cu figure, un obiect text este creat cu funcia text iar o linie este generat cu
line. Pe de alta parte crearea automat a obiectelor figure+axe+line se efectueaz la lansarea
unei comenzi de tip plot care execut mai multe funcii de nivel sczut. Acest tip de funcii
sunt funcii de nivel nalt. Funciile de nivel sczut sunt cele care creeaz independent unul
din cele 11 obiecte din ierarhia prezentat.
Exemplu: o funcie de nivel sczut este :
>>line([1 3 6], [8 2 0], 'Color', 'red')
Proprietile obiectelor
Toate obiectele au proprieti de control care pot fi afiate. Matlab propune dou
mecanisme pentru setarea (modificare / atribuire) valorilor proprietilor. Proprietile
obiectelor pot fi setate la crearea obiectului sau schimbate cu funcia set daca obiectul deja
exista.
Exemplu:
zi = ['Su';'Mo';'Tu';'We';'Th';'Fr';'Sa']
temp = [21.1 22.2 19.4 23.3
23.9 21.1 20.0];
f = figure
a=axes('YLim',[1626],'Xtick',
1:7,'XTickLabel',zi)
h = line(1:7,temp)
Fereastra f este creat prin apelarea funciei de nivel sczut figure fr argumente (deci
are valorile implicite). Axele exist n fereastra dar i se modifica limitele pe y, marcajele i
etichetele acestora pe x. Linia exist n obiectul axe i are specificate valorile pentru datele x
i y . Se pot salva aceste trei obiecte pentru utilizarea lor mai trziu.
f=1; a = 149.0015 ; h = 150.0015;
47
figure
array
axe
char
numeric
cell
int8, uint8,
int16,uint16,
int32, uint32
double
struct
Obiect
utilizator :
- atribute
- metode
surface
:
uicontrol
uimenu
int8, uint8,
int16,uint16,
int32, uint32
double
50
Dup cum am amintit anterior o interfaa grafica permite introducerea unor elemente de
control care s reacioneze la anumite evenimente, n sensul controlrii execuiei programului
pentru care este conceput de utilizator.
obiectelor: obiectele definite primele sunt desenate primele. Dac se utilizeaz frame-uri care
grupeaz obiecte, ele trebuie definite naintea obiectelor. Un uicontrol creat naintea frameului va exista dar nu se va vedea (va fi acoperit de el). Frame-urile sunt opace, deci ordinea n
care definim obiectele e important pentru a ti care sunt acoperite de frame i care sunt
vizibile.
List boxes
Afieaz liste cu elemente (definite utiliznd proprietatea string rou|galben|albastru)
care permit utilizatorului s selecteze unul sau mai multe elemente. Proprietatea Value indic
intrarea selectat i conine indicii ntr-o lista de string-uri. Valorile dintr-un vector indic
multiple selecii. Este necesar adugarea unui buton Done care s ntrzie aciunea cauzat
de seleciile multiple
51
Pop-up menus
Deschide un display de opiuni (definite cu proprietatea string rosu|galben|albastru)
cnd este selectat. Cnd nu este deschis el indic alegerea curent. El este utilizat cnd
utilizatorul dorete o selecie exclusiv de proprieti. Proprietatea Value indic care cmp a
fost selectat prin numrul lui de ordine (dac se selecteaz galben, value capt valoarea 2).
Push buttons
Genereaz o aciune cnd este apsat. Pentru activare se selecteaz cu click de mouse pe
buton ceea ce va lansa n execuie secvena scris la callback.
Radio buttons
Sunt similare cu CheckBox dar sunt exclusive ntr-un grup de butoane radio (numai
unul are starea apsat ntr-un moment).
Sliders
Accept intrare numeric ntr-un interval prin deplasarea barei indicatoare a sliderului
de ctre utilizator. Se pot seta valorile Min i Max pentru valorile extreme ale intervalului.
Value returneaz valoarea curenta selectata.
Static text
Afieaz linii de text. Este utilizat pentru etichetare/comentarea obiectelor de control. El
nu ofer opiune de callback care s asocieze o rutina de execuie.
Observaii
Numai anumite obiectele de control din interfaa au proprietatea callback. Obiectele
figure, axe care nu sunt controale au proprieti specifice anumitor evenimente specifice
acelui obiect.
Clasele de obiecte au n structura proprieti specifice de tip callback, corelate cu
evenimentele (metodele) care pot fi asociate fiecrei clase. Indicam mai jos care sunt
atributele obiectelor grafice care execut anumite rutine, atunci cnd se produc evenimentele
la care sunt asignate:
52
Obiectul Figure este sensibil la buton apsat, crearea sau tergerea sa, nchiderea
ferestrei grafice (nu e la fel cu tergerea), apsarea unei key de tastatura, redimensionarea
ferestrei, apsarea/deplasarea/ridicarea sgeii de mouse n cmpul figurii. Pentru fiecare
eveniment n parte, daca se prevd secvene de program scrise n Matlab, se obin asociate
producerii lor.
Proprietile obiectelor grafice de tip uicontrol : (Observaie : pentru alte obiecte grafice
aparinnd altor clase (figure, axe) ele nu sunt valabile sau cel puin nu sunt aceleai) sunt
prezentate n tabelul 3 grupate pe funcii. Numele fiecrei proprieti este legat de o descriere
a acesteia:
Nume proprietate
Descrierea
Valoarea
proprietii
proprietii
BackgroundColor
Culoarea de background
Valoare:ColorSpec
Implicit:
CData
Valoare: matrice
ForegroundColor
Culoarea textului
Valoare:ColorSpec
Implicit: [0 0 0]
SelectionHighlight
String
Valoare:on, off
selectat
Implicit: on
Valoare: string
Vizibilitate Uicontrol
Enable
Parent
(dac are)
Selected
SliderStep
Tipul de obiect
Valoare: pushbutton,
togglebutton, radiobutton,
checkbox, edit, text, slider,
frame, listbox, popupmenu
Implicit: pushbutton
Tag
Valoare: string
Valoare: string
UserData
curent
Implicit: uicontrol
Valoare: matrice
utilizator
Controlul poziiei obiectelor
Position
jos, dreptunghi
Implicit: [20 20 60 20]
Units
poziie
nclinarea caracterului
FontName
Familia de fonturi
Valoare: string
Implicit: system dependent
FontSize
Mrimea fontului
FontUnits
String
Valoare: string
Callback
Controlul aciunii
Valoare: string
CreateFcn
Valoare: string
crerii obiectului
DeleteFcn
Valoare: string
tergerii obiectului
Interruptible
Implicit: on
Valoare: scalar
Implicit: [1]
56
Max
Min
Valoare
Valoare: scalar
uicontrol)
Valoare: scalar
uicontrol)
HitTest
Implicit: on
ului de mouse
Implicit: on
57
3.4 Alte funcii utile n concepia unei interfee grafice GUI [8]
Au fost deja prezentate cele doua funcii set i get specializate n editarea proprietilor
obiectelor grafice. Adaug la acestea funcia findobj. Funciile gca, gco sunt o form abreviat
a aplicrii funciei findobj n gsirea obiectelor Axe i Obiect curent.
Axe curente
gca
Root
Figura
curenta
Figura
curenta
gcf
Axe curente
Obiect curent
findobj
Obiect
curent
gco
60
CAPITOLUL IV
Static Text - permite afiarea liniilor de text sau pentru etichetarea obiectelor
sunt preluai numrtorul i numitorul i este afiat funcia de transfer n circuit deschis
pe un obiect de control caracteristic (Static text ).
Axes permite afiarea unor grafice, n cazul criteriilor ferecventiale de analiz sau a
minorilor Hurwitz sau tabelei Rout- Hurwitz, n cazul criteriilor algebrice.
Pop-up menu permite afisarea unui meniu n momentul selectrii. Daca nu
este activat, se afieaz un singur buton, cu un text care reprezint configuraia curent.
Aceast posibilitate de control grafic se folosete atunci cnd se dorete selectarea unei
opiuni dintr-o lista mutual exclusiv, fr modificarea valorilor, ca n cazul butoanelor
radio. Sunt utilizate pentru a putea selecta criteriul dorit n vederea obinerii de
informaii cu privire la acesta.
Pentru citirea i modificarea proprietilor fiecrui obiect am folosit Propriety Inspector,
care poate fi vizualizat din meniul principal din ViewPropriety Inspector sau prin click
dreapta de mouse asupra obiectului a cror proprieti se doresc a fi vizualizate sau
modificate.
De regul din proprietile fiecrui obiect de control am modificat String-ul i Tagul obiectului respectiv astfel nct s fie mai uor identificat n fiierul *.m generat automat
n urma salvrii interfeei grafice.
63
64
65
Figura 16. Secven din codul de program pentru criteriul lui Hurwitz
n prima parte am scris o secven de program prin care se preiau cei doi vectori
introdui de la tastatur, vectori care reprezint numrtorul i numitorul funciei de transfer.
Acetia sunt transformai din string n numr prin instruciunea str2num, iar apoi cu
ajutorul lor se creeaz ecuaia caracteristic necesar urmtoarei pri din program i anume
secvena de program n care este implementat algoritmul de calcul al criteriului lui Hurwitz.
Acesta const n calcularea minorilor determinantului obinut. Dac este ndeplinit condiia
de stabilitate i anume, ca toi coeficienii de pe diagonala principal s fie pozitivi, pe
interfaa grafic va aprea mesajul Toate valorile determinanilor obinui sunt pozitive, deci
sistemul este stabil", n caz contrar va fi afiat mesajul Una sau mai multe din valorile
diagonalei sunt negative, deci sistemul devine instabil; de asemenea pe interfa va fi afiat
66
67
Ca i la criteriul lui Hurwitz, n prima parte apare secvena de program n care se preia
numrtorul i numitorul funciei de transfer i se creeaz ecuaia caracteristic. Acest criteriu
este o variant alternativ a criteriului Hurwitz i a fost introdus pentru a se evita calcularea
determinanilor. n Callback a fost implementat algoritmul de calcul al Criteriului lui RouthHurwitz. Acesta const n crearea tabelei lui Routh, iar dac este ndeplinit condiia, i
anume ca toi termenii de pe prima coloan s fie pozitivi, pe interfaa grafic creat va fi
afiat mesajul Sistemul este stabil, iar dac aceast condiie nu este satisfcut va aprea
mesajul Sistemul este instabil. De asemenea pe interfa va fi afiat tabela lui Routh i pot
fi afiate i informaii cu privire la acest criteriu ca n exemplul din Figura 19:
68
Sistemul este stabil deoarece curba pentru frecvena (0,) las punctul critic (-1, 0) la
stnga sa.
70
Dup ce s-a creat funcia de transfer s-a trasat Locul geometric al rdcinilor a unui
sistem de ordinul II, la intrarea de tip treapt. Sistemul este stabil deoarece polii sistemului se
gsesc n semiplanul stng al planului complex.
71
unde :
este
nu
exista
schimbari
de
semn,
in
este
caz
stabil
contrar
daca
in
sistemul
prima
este
instabil')
end
73
1
s 2s 3
2
Voi analiza sistemul n bucl deschis cu ajutorul criteriului lui Hurwitz. Se formeaz
ecuaia caracteristic, aplicnd formula : det(sI-A)=0, unde A reprezint matricea
caracteristic din spaiul strilor, I reprezint matricea unitate, s variabila pentru sistemul
continuu. Apoi se formeaz determinantul lui Hurwitz i se calculeaz minorii acestuia
conform algoritmului de calcul implementat n funcia Callback a criteriului Hurwitz n
vederea studierii stabilitii sistemului. n urma studierii stabilitii cu ajutorul instrumentului
software, interfaa grafic va arta ca n figura 27.
74
Figura 27. Studierea stabilitii sistemului de ordinul II (avnd funcia de transfer prezentat
anterior) cu ajutorul criteriului lui Hurwitz
Este ndeplinit condiia necesar i suficient ca acest sistem s fie stabil i anume, toi
minorii determinantului sunt pozitivi, deci sistemul este stabil n bucl deschis. Pe interfa
mai putem vizualiza i informaii cu privire la acest criteriu.
n continuare voi studia stabilitatea aceluiai sistem dar de aceast dat n bucl nchis
cu ajutorul diagramei lui Bode. n figura 27 putem vedea c sistemul este instabil n bucl
nchis. Condiia necesar i suficient ca sistemul s fie stabil este ca >0 sau M<0, unde
Figura 28. Studierea stabilitii sistemului de ordinul II (avnd funcia de transfer prezentat anterior)
cu ajutorul diagramei lui Bode
75
1
2s 4s 3
2
Voi analiza stabilitatea sistemului n bucl deschis cu ajutorul criteriului lui Hurwitz.
Dup ce s-a construit determinantul lui Hurwitz, au fost calculai minorii acestuia cu
ajutorul instrumentului software realizat.
n figura 29 putem vedea c este ndeplinit condiia de stabilitate i anume, toi minorii
determinantului lui Hurwitz sunt pozitivi deci sistemul este stabil n bucl deschis.
Figura 29. Studierea stabilitii sistemului de ordinul II (avnd funcia de transfer prezentat
anterior) cu ajutorul criteriului lui Hurwitz
Voi studia stabilitatea aceluiai sistem n bucl nchis cu ajutorul Locului geometric al
rdcinilor. Sistemul este stabil deoarece polii sistemului se gsesc n semiplanul stng al
planului complex .
76
CONCLUZII
77
BIBLIOGRAFIE
1. Dragomir O., Dragomir F. Minca E., Dumitrache C.- Teoria sistemelor automate.
Fundamente teoretice si aplicatii Matlab, Editura MatrixRom, Bucuresti, 2010, ISBN:
978- 973- 755- 646- 2
2. Minca E., Dumitrache C., Brezeanu I., Stefan V., Dragomir F., Dragomir O. Conducerea inteligenta a sistemelor automate. Fundamente teoretice (vol.I), Editura
MatrixRom, Bucuresti, 2010, Referenti stiintifici : Prof. A. Filipescu, Prof. S. St.
Iliescu, ISBN:978-973-755-565-6
3. Minca E., Dumitrache C., Brezeanu I., Stefan V., Dragomir F., Dragomir O. Conducerea inteligenta a sistemelor automate. Aplicatii (vol.II), Editura MatrixRom,
Bucuresti, 2010, Referenti stiintifici : Prof. A. Filipescu, Prof. S. St. Iliescu,
ISBN:978-973-755-566-3
4. Soare C., Iliescu S.St., Tudor V., Fagarasanu I., Dragomir O., Dragomir F. Proiectarea asistata de calculator in Matlab si Simulink. Conducerea avansata a
proceselor, Editura Agir, Bucuresti, 2006, ISBN 973-720-092-6978-973-720-092-1
5. D.F.Lzroiu,Th.Boranglu, V.Coste, Dan Popescu, Cr.Constantinescu, M.Gudumsc,
Teoria sistemelor i reglaj automat, Institutul Politehnic Bucureti, 1982
6. Vlad Ionescu, Corneliu Popeea, Conducerea structural a sistemelor liniare, Editura
Tehnic, Bucureti, 1986
7. http://www.mathworks.com/matlabcentral, Matlab The Language of Technical
Computing, Creating Graphical User Interfaces, version 1
8. Eugenia Minc, Note de curs, Ingineria reglrii automate I
9. Ionescu V.;Teoria Sistemelor;EDP,Bucuresti 1986.
10. Ionescu, V., A, Varga, Teoria sistemelor sintez robust, metode numerice de
calcul, Ed. ALL, Bucureti,1994.
11. Dobra, P. Teoria Sistemelor, Mediamira, 2002
12. Nicolae Olariu, Iulian Brezeanu, Eugenia Minc, Utilizarea pachetelor soft Matlab,
Simulink, Control System Toolbox n proiectarea inginereasc, Editura Macarie,
Trgovite
78
Anexa 1
%Afiarea funciei de transfer prin apsarea butonului pushbutton1
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject
% eventdata
% handles
num_string=get(handles.num_txt,'string');
%citeste
stringul
pentru
numitor
den_string=get(handles.den_txt,'string');
%citeste
stringul
pentru
numarator
%display_string=char(num_string, den_string); - concateneaza vertical cele
2 stringuri
%set(handles.display_den_genny,'string',display_string);- afiseaza stringul
rezultat din concatenare
num=str2num(num_string);
den=str2num(den_string);
num_length=length(num);
den_length=length(den);
display_line='---';
temp_string = '';
temp_length = 0;
sign_chr = '';
chr = '';
j=num_length-1;
display_num=temp_string;
temp_string = '';
temp_length = 0;
79
sign_chr = '';
chr = '';
j=den_length-1;
for i=1:den_length
chr=num2str(den(i));
if sign(den(i))==1 && temp_length==0
sign_chr='';
else if sign(den(i))==1 && temp_length~=0
sign_chr='+';
else if sign(den(i))<1 && temp_length~=0
sign_chr='';
end
end
end
temp_string=strcat(temp_string, sign_chr, chr, 's^' ,num2str(j));
temp_length=temp_length+1;
j=j-1;
end
display_den=temp_string;
%salvez
numitorul
din
temp_string
in
display_den
afiseaza
functia
transfer
set(handles.display_den,'string',display_den);
set(handles.display_num,'string',display_num);
f=tf(den,num);
80
de
guidata(hObject, handles);
81
Anexa 2
%Codul de program pentru aplicaia Matlab Studiul stabilitii sistemelor
liniare continue cu ajutorul criteriilor algebrice i frecveniale
function varargout = geo4(varargin)
% GEO4 M-file for geo4.fig
%
singleton*.
existing singleton*.
are
%
unrecognized
property
name
or
invalid
value
makes
An
property
application
%
stop.
mfilename, ...
gui_Singleton, ...
@geo4_OutputFcn, ...
'gui_LayoutFcn',
[] , ...
'gui_Callback',
[]);
82
handle to figure
% eventdata
% handles
% varargin
% hObject
handle to figure
% eventdata
83
% handles
% eventdata
% handles
if ispc
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'))
;
end
% eventdata
% handles
84
a double
% eventdata
% handles
if ispc
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'))
;
end
% eventdata
% handles
a double
85
% eventdata
% handles
num_string=get(handles.num_txt,'string');
numitor
den_string=get(handles.den_txt,'string');
%citeste
stringul
pentru
numarator
%display_string=char(num_string, den_string)- concateneaza vertical cele 2
stringuri
%set(handles.display_den_genny,'string',display_string)-
afiseaza
stringul
den=str2num(den_string);
num_length=length(num);
den_length=length(den);
display_line='---';
temp_string = '';
temp_length = 0;
sign_chr = '';
chr = '';
j=num_length-1;
temp_string=strcat(temp_string, sign_chr, chr, 's^' ,num2str(j));
temp_length=temp_length+1;
j=j-1;
end
86
display_num=temp_string;
temp_string = '';
temp_length = 0;
sign_chr = '';
chr = '';
j=den_length-1;
for i=1:den_length
chr=num2str(den(i));
if sign(den(i))==1 && temp_length==0
sign_chr='';
else if sign(den(i))==1 && temp_length~=0
sign_chr='+';
else if sign(den(i))<1 && temp_length~=0
sign_chr='';
end
end
end
temp_string=strcat(temp_string, sign_chr, chr, 's^' ,num2str(j));
temp_length=temp_length+1;
j=j-1;
end
display_den=temp_string;
%salvez
numitorul
din
temp_string
display_den
for i=1:length(display_num)
display_line=strcat(display_line,'-');
end
%display_string=char(display_den, display_line, display_num);
87
in
%concateneaza vertical
%cele 3 stringuri
%set(handles.display_genny,'string',display_string);
% afiseaza functia de transfer
% eventdata
% handles
a = get(handles.num_txt,'String');
b = get(handles.den_txt,'String');
v=str2num(a)+str2num(b);
if v(1)<0
if rem(dimension,2)==0
%restul impartirii la 2
w=v;
para
else
w=[v 0];
end
n_column=fix((dimension-1)/2)+1;
w=reshape(w,2,n_column);
88
x=flipud(w);
%inversia
celor
linii
construite
for i=1:2
end
%algoritm de calcul
for i=3:dimension-1
for j=2:dimension-1
y(i,j)=y(i-2,j-1);
end
end
n_det=length(y);
calculati
for i=1:n_det
z(i)=det(y(1:i,1:i));
end
fprintf(' Vectorul de determinani calculai este \n z = ')
disp(z)
%afiseaza vectorul
val = get(hObject,'Value');
if val == 1
if z(i)>0
%interpretare
set(handles.stabil,'string','Toate
valorile
determinantilor
89
val = get(hObject,'Value');
if val == 1
pltmat(y,' ','r',12);
set(handles.axa,'string','MATRICEA
HURWITZ')
%afisarea
calculate
end
% eventdata
% handles
clc;
disp('
')
90
matricei
m(1,i)=D(1,(2*i)-1);
end
for i=1:((l-1)/2)
m(2,i)=D(1,(2*i));
end
end
%
--------------------Sfarsitul
matricei
91
set(handles.axa,'string','TABELA ROUTH')
else
axis off
cla
set(handles.axa,'string',' ')
end
% eventdata
% handles
b=str2num(get(handles.den_txt,'string'));
%introduce
in
variabila
% eventdata
% handles
a=str2num(get(handles.num_txt,'string'));
b=str2num(get(handles.den_txt,'string'));
92
'b'
% eventdata
% handles
a=str2num(get(handles.num_txt,'string'));
b=str2num(get(handles.den_txt,'string'));
f=tf(a,b);
f0=feedback(f,1)
val = get(hObject,'Value');
end
93
% eventdata
% handles
if ispc
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'))
;
end
% eventdata
% handles
94
hpop=findobj(gcf,'Tag','inf')
val = get(hpop,'Value');
if val == 1
set(handles.genny,'string','Un sistem cu reactie este stabil daca
diagrama Nyquist inconjura punctul de referinta ( (-1,0)
negativa, (+1,0)
atunci cand s
pentru reactie
elseif val == 2
set(handles.genny,'string','bode')
elseif val == 3
set(handles.genny,'string',' Un sistem dinamic liniar este stabil daca
si numai daca toti polii sistemului au partea reala strict negativa')
end
% eventdata
% handles
if ispc
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'))
;
end
95
% eventdata
% handles
hpop=findobj(gcf,'Tag','crtalg')
val = get(hpop,'Value');
% --- Executes on button press in close
% nchiderea aplicaiei
function close_Callback(hObject, eventdata, handles)
% hObject
% eventdata
% handles
close(gcf)
96
% eventdata
% handles
97