Rev | Line | |
---|
[37] | 1 | function gamscontrol1 |
---|
| 2 | |
---|
| 3 | A = [1 2;-3 0];B = [1;1]; |
---|
| 4 | [K0,P0] = lqr(A,B,eye(2),1); |
---|
| 5 | P = sdpvar(2,2);setsdpvar(P,2*P0);K0(K0>1)=1;K0(K0<-1)=-1; |
---|
| 6 | K = sdpvar(1,2);setsdpvar(K,-K0); |
---|
| 7 | F = set(K<1)+set(K>-1)+set(P>0)+set((A+B*K)'*P+P*(A+B*K) < -eye(2)-K'*K); |
---|
| 8 | F = F+lmi(diag(P)>0)+lmi(P(:)>-151) + lmi(P(:)<150) + lmi(P>P0)+lmi(K>-100) + lmi(K<100); |
---|
| 9 | |
---|
| 10 | obj = trace(P); |
---|
| 11 | |
---|
| 12 | sol = solvesdp(F,obj,sdpsettings('solver','bmibnb')) |
---|
| 13 | |
---|
| 14 | mbg_asserttolequal(sol.problem,0, 1e-5); |
---|
| 15 | |
---|
| 16 | mbg_asserttolequal(double(obj),5.4615, 1e-4); |
---|
Note: See
TracBrowser
for help on using the repository browser.