Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: unstable controller generated by hinflmi
Replies: 0

 Pietro Posts: 6 Registered: 12/22/12
unstable controller generated by hinflmi
Posted: Jan 3, 2013 6:07 AM

Hi,

why the command hinflmi can return an unstable controller? This is what i did:

>>[gamma,Khinf]=hinflmi(ltisys(Aw,B,C,D),[1 1]);

Minimization of gamma:

Solver for linear objective minimization under LMI constraints

Iterations : Best objective value so far

1
2
3
4
5
6
7
8
9 3632.172073
10 2479.153556
11 1402.523219
12 1063.654232
13 1063.654232
14 460.277854
15 259.428333
16 259.428333
17 109.190649
18 77.987286
19 77.987286
20 35.870497
21 35.870497
22 10.892030
23 9.551692
24 9.551692
25 9.551692
26 9.551692
27 7.289358
28 7.289358
29 6.598215
30 6.598215
31 6.598215
32 6.320765
33 6.320765
34 6.320765
35 6.075647
36 6.075647
37 6.075647
38 5.915058
39 5.915058
40 5.915058
41 5.915058
42 5.844101
43 5.844101
44 5.820325
45 5.820325
*** new lower bound: 5.374737
46 5.761921
*** new lower bound: 5.570883
47 5.747046
*** new lower bound: 5.692449

Result: feasible solution of required accuracy
best objective value: 5.747046
guaranteed relative accuracy: 9.50e-03
f-radius saturation: 28.548% of R = 1.00e+08

Optimal Hinf performance: 5.704e+00

>> [Ak, Bk, Ck, Dk]=ltiss(Khinf);
>> eig(Ak)

ans =

1.0e+04 *

-2.0998 + 1.9450i
-2.0998 - 1.9450i
-0.0263
0.0005
-0.0009
-0.0018

Note: the controller stabilizes the lft system:

>> Sis=lft(ss(Aw,B,C,D),ss(Ak,Bk,Ck,Dk));
>> pole(Sis)

ans =

1.0e+04 *

-0.0019
-2.0998 + 1.9450i
-2.0998 - 1.9450i
-0.0980
-0.0264
-0.0003 + 0.0024i
-0.0003 - 0.0024i
-0.0019
-0.0000
-0.0001
-0.0002
-0.0100

but with the control input unstable i can't work.

The system not controlled was stable itself:

>>pole(ss(Aw,B,C,D))

ans =

1.0e+02 *

-0.1885
-9.7959
-0.0255 + 0.2417i
-0.0255 - 0.2417i
-0.0158
-1.0000

Thank you!