首页 > 解决方案 > 如何解决 simulink 中的这个错误{矩阵尺寸必须一致。}?

问题描述

现在我根据下图解决二次规划。 在此处输入图像描述

我已经运行了如下所示的代码并得到了错误。希望能从大家那里得到一些解决方案 在此处输入图像描述

    <function v = CG_t( r)
%%state space eqn in  canonical form
P=[-21.22 1;-275.5 0];
B=[11.02;275.5];
C=[1 0];
D=0;
I=[1 0;0 1];
S=1;
%Q=0.0001;
Hx=S*(C*P); 
Hv= S*(C*(I-P)*((I-P)^-1)*B); 
e=0.8; 
s=1; %s=max_y
v=1;
coder.extrinsic('quadprog'); 

  %% v=min[(v-r)^T *Q * (v-r)]
  %Q=positive define matrix; Q=[1 0 ;0 1],hence it is a convex
  %optimization
  %%
   
f=[];
A=[Hx Hv] ;
b=s;
H=[1 0;0 1];
%v=r;
%k=0;
%A=zeros(1, 20);
%b=zeros(1,20);
%A=[ ];
%b=[ ];
%r=12;
%v_previous=-1;
Aeq=[];
beq=[];
lb=[];
ub=[];
x0=v-r;
options=optimoptions('quadprog','Algorithm','interior-point-convex');
v=quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options);

 end

对于 Hx 和 Hx 是 O_infinity 的公式,其中 O_infinity= Hx+Hv<=h

标签: optimizationsimulinkquadratic-programming

解决方案


推荐阅读