Rev | Line | |
---|
[37] | 1 | function gp |
---|
| 2 | |
---|
| 3 | x=sdpvar(1,1); |
---|
| 4 | y=sdpvar(1,1); |
---|
| 5 | t=x/y; |
---|
| 6 | F=set(t>0.5); |
---|
| 7 | F=F+set(y<2); |
---|
| 8 | F=F+set(y>1); |
---|
| 9 | obj=x^2*y^3; |
---|
| 10 | F=F+set(t<=1); |
---|
| 11 | F=F+set(t>=1); |
---|
| 12 | F=F+set(y^2<4); |
---|
| 13 | |
---|
| 14 | sol = solvesdp(F,obj); |
---|
| 15 | mbg_asserttolequal(sol.problem,0); |
---|
| 16 | mbg_asserttolequal(double(obj),1,1e-5); |
---|
| 17 | mbg_asserttolequal(double([x y t]), [1 1 1], 1e-5); |
---|
| 18 | |
---|
| 19 | sol = solvesdp(F,1/obj); |
---|
| 20 | mbg_asserttolequal(sol.problem,0); |
---|
| 21 | mbg_asserttolequal(double(obj),32,1e-5); |
---|
| 22 | mbg_asserttolequal(double([x y t]), [2 2 1], 1e-5); |
---|
| 23 | |
---|
| 24 | |
---|
| 25 | x=sdpvar(1,1); |
---|
| 26 | y=sdpvar(1,1); |
---|
| 27 | t=x/y; |
---|
| 28 | F=set(t>0.5); |
---|
| 29 | F=F+set(y<2); |
---|
| 30 | F=F+set(y>1); |
---|
| 31 | obj=x^2*y^3; |
---|
| 32 | F=F+set(t<=1); |
---|
| 33 | F=F+set(t>=1); |
---|
| 34 | F=F+set(y^2.5<4); |
---|
| 35 | |
---|
| 36 | sol = solvesdp(F,obj); |
---|
| 37 | mbg_asserttolequal(sol.problem,0); |
---|
| 38 | mbg_asserttolequal(double(obj),1,1e-5); |
---|
| 39 | mbg_asserttolequal(double([x y t]), [1 1 1], 1e-5); |
---|
| 40 | |
---|
| 41 | sol = solvesdp(F,1/obj); |
---|
| 42 | mbg_asserttolequal(sol.problem,0); |
---|
| 43 | mbg_asserttolequal(double(obj),16,1e-5); |
---|
| 44 | mbg_asserttolequal(double([x y t]), [1.74110112659225 1.74110112659225 1.00000000000000], 1e-5); |
---|
Note: See
TracBrowser
for help on using the repository browser.