EE611


Solution to Homework #21

1a)



b)



2.a)

» A=[-2 -1 -1;-1 -2 -1;1 1 0]
A =

-2-1-1
-1-2-1
110

» B=[0 -1;-1 -1;1 2]

B =

0-1
-1-1
12

» C=[1 -1 0;0 1 1]

C =

1-10
011

» %put in CCF:

» M=[B A*B A*A*B]

M =

0-10 10-1
-1-11 1-1-1
12-1 -212

» rank(M)

ans =

2

» Tccf = [M(:,1:2) [0;0;1]]

Tccf =

0-10
-1-10
121

» rank(Tccf)

ans =

3

» Accf = inv(Tccf)*A*Tccf

Accf =

-100
0-11
00-2

» Ac = Accf(1:2,1:2)

Ac =

-10
0-1

» %since uncontrolable eigenvalue is stable (-2), system is stabilizable!!


b)
» Bccf = inv(Tccf)*B
Bccf =

10
01
00

» Bc = Bccf(1:2,:)

Bc =

10
01

» %set eigenvalues to -2, -2:

» Kc=[1 0; 0 1]

Kc =

10
01

» eig(Ac-Bc*Kc)

ans =

-2

-2

» K = [Kc [0;0]] * inv(Tccf)

K =

1-10
-100

» eig(A-B*K)

ans =

-2.0000 + 0.0000i

-2.0000 - 0.0000i

-2.0000


c)

» %all eigenvalues are stable, therefore system is detectable!!


d)
» C
C =

1-10
011

» R = [0 0 1]

R =

001

» Tro = inv([C;R])

Tro =

11-1
01-1
001

» Abar = inv(Tro)*A*Tro

Abar =

-100
0-10
12-2

» A11 = Abar(1:2,1:2)

A11 =

-10
0-1

» A12 = Abar(1:2,3)

A12 =

0

0

» A21 = Abar(3,1:2)

A21 =

12

» A22 = Abar(3,3)

A22 =

-2

» %Find Kro to set the eigenvalues of A22-KroA12

» %But A12 = [0;0]!! Because only eigenvalue

» %of the reduced-order observer is unobservable!!

» %Doesn't matter what we pick for Kro, we cannot set eigenvalue

» %so pick an easy Kro:

» Kro = [0 0]

Kro =

00

» Bbar = inv(Tro)*B

Bbar =

10
01
12

» B1 = Bbar(1:2,:)

B1 =

10
01

» B2 = Bbar(3,:)

B2 =

12

» Aro = A22-Kro*A12

Aro =

-2

» Bro = B2-Kro*B1

Bro =

12

» Cro = (A22-Kro*A12)*Kro-Kro*A11+A21

Cro =

1

2

» Q1 = Tro(:,1:2)

Q1 =

11
01
00

» Q2 = Tro(:,3)

Q2 =

-1

-1

1