Line | |
---|
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.