Sunteți pe pagina 1din 8

Nichiforov Cristina

AII

Tema de casa TACP


Cerinta:
Se considera un sistem dinamic linear stationar caracterizat prin matricele:
2n+1 7.5 8
A= n2
7 n
2
1 2
0
b=0
1
c=0 0 0

n = 3.
Sa se determine comanda optimala pentru un criteriu de calitate:

J x T Qx u T Ru dt
0

I3
unde, Q =

si R = 1.

1) Verificati controlabilitatea sistemului.


2) Determinati comanda optimala pentru Q,R impus.
3) Analizati cazurile :
Q=10 Q , R=1 ;

Q=0.1 Q , R=1 ;
Q=Q , R=1 0 ;

Q=Q , R=0.1 .
4) Apreciati modul in care matricile Q si R modifica raspunsul sistemului pentru o
10
0= 10
initializare
10 .
x

Nichiforov Cristina
AII

Rezolvare:
1)
Studiem pentru nceput controlabilitatea. Pentru aceasta vom utiliza criteriul de
controlabilitate complete: Sistemul este complet controlabil sau altfel spus perechea (A,b) e
complet controlabil, dac i numai dac matricea de controlabilitate(P) este nesingular.

Pentru n = 3 =>

7 7.5 8
0
A= 9 7 3 ; b=0 .
2 1 2
1

Deoarece oridnul matricei A este 3 rezulta ca matricea de controlabilitate este:


2

P=(b Ab A b)
In continuare este prezentat un program, realizat n Matlab, prin care se verific
controlabilitatea sistemului dat.
n = 3;
A = [2*n+1 7.5 8;n^2 3 7*n; 2 1 2]
B = [0; 0; 1]
P = ctrb(A,b)% matricea de controlabilitate
d = det(P)
if (d~=0)
disp('d~ = 0 => Sistemul este controlabil!')
end

Nichiforov Cristina
AII

2)
Comanda optimal este

u t R 1 B T Px t
unde P este soluia ecuaiei algebrice Riccati continue
Q AT P PA PBR 1 B T P 0
Valoarea minim a criteriului este n acest caz
J*

1 T
x0 Px0
2

.
Soluia P a ecuaiei Riccati este simetric i semidefinit pozitiv. Funcia Matlab pentru
rezolvarea ecuaiei algebrice Riccati continue este care.
Cnd R este matrice unitate, funcia
[P,L,G] = care(A,B,Q)
calculeaz soluia unic P a ecuaiei algebrice Riccati

AT P PA PBB T P Q 0

Funcia care calculeaz de asemenea matricea


valorile proprii ale matricei A B * G.

G R 1 B T P

i vectorul L ce conine

Funcia
[P, L, G] = care(A, B, Q, R)
calculeaz soluia unic P a ecuaiei algebrice Riccati

AT P PA PBR 1 B T P Q 0
Funcia care calculeaz de asemenea matricea
valorile proprii ale matricei A B * G.

G R 1 B T P

i vectorul L ce conine

In continuare sunt prezentate mai multe programw, realizate n Matlab, prin care se
observa raspunsul sistemului.

Nichiforov Cristina
AII

Vom calcula soluia ecuaiei algebrice Riccati :

AT P PA PBB T P Q 0

care.
n = 3;
A = [2*n+1 7.5 8; n^2 3 7*n; 2 1 2];
B = [0; 0; 1] ;
Q = eye(3);
R = 1;
[P, L, G] = care(A, b, Q, R)

Se obtine:

Vom calcula acum soluia sistemului cu reacia dup stare


u = - G*x.
function dx = fct(t, x)
n = 3;
4

cu funcia

Nichiforov Cristina
AII

A = [2*n+1 7.5 8;n^2 3 7*n; 2 1 2];


b = [0; 0; 1] ;
G = [22.6124 15.4299 33.8568];
dx = (A - b * G) * x;
Vom calcula soluia sistemului pe 4s n condiiile iniiale
urmtorul:
t = [0, 4];
x0 = [0; 0; 1];
[t, x] = ode45(@fct, t, x0);
plot(t, x)
grid
xlabel('t[s]')
ylabel('x')
Se obtine evolutia starii sistemului:

0
0= 0
1 . Programul este
x

Nichiforov Cristina
AII

3)

Nichiforov Cristina
AII

Nichiforov Cristina
AII

Se observa ca, cazurile 1-4, respective 2-3 sunt identice.


4)
10
0= 10
Pentru un vector de initializare
10 se obtin amplitudini mai mici.
x

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