Matlab 使用YALMIP和Sedumi解决大量约束
我有以下问题需要解决: Im使用YALMIP以以下方式定义约束:Matlab 使用YALMIP和Sedumi解决大量约束,matlab,Matlab,我有以下问题需要解决: Im使用YALMIP以以下方式定义约束: C = [7.8*10^5 0 ; 0 6.3*10^7]; D = [62500 0 ; 0 62500]; tf1 = 15; tf2 = 15; T = 10; X{1} = sdpvar(2,2); Constraints=[X{1} >= inv(C)]; for k = 1:1:T/dt L{k} = sdpvar(1,2); X{k} = sdpvar(2,2); X{k+1}
C = [7.8*10^5 0 ; 0 6.3*10^7];
D = [62500 0 ; 0 62500];
tf1 = 15;
tf2 = 15;
T = 10;
X{1} = sdpvar(2,2);
Constraints=[X{1} >= inv(C)];
for k = 1:1:T/dt
L{k} = sdpvar(1,2);
X{k} = sdpvar(2,2);
X{k+1} = sdpvar(2,2);
A{k} = [2/(tf1-t) 0 ; 0 2/(tf2-t)];
B{k} = [-1/(tf1-t);-1/(tf2-t)];
Constraints = [Constraints, -X{k+1}+X{k}+dt*(X{k}*A{k}'+B{k}*L{k})<0, X{k} < inv(D)];
t=t+dt;
end
options = sdpsettings('Solver','Sedumi');
solvesdp(Constraints,[],options);
C=[7.8*10^50;06.3*10^7];
D=[62500;06500];
tf1=15;
tf2=15;
T=10;
X{1}=sdpvar(2,2);
约束=[X{1}>=inv(C)];
对于k=1:1:T/dt
L{k}=sdpvar(1,2);
X{k}=sdpvar(2,2);
X{k+1}=sdpvar(2,2);
A{k}=[2/(tf1-t)0;02/(tf2-t)];
B{k}=[-1/(tf1-t);-1/(tf2-t)];
约束=[约束,-X{k+1}+X{k}+dt*(X{k}*A{k}'+B{k}*L{k})