为什么报错说串联的矩阵维度不一致啊??
function[gamma,Y,G]=LMI_01()
%%程序参数初始化
C1=[0 0 1 0;0 0 0 1];
C=[0 1 0];
Mr=10;
R=[1 0 0;0 1 0;0 0 1];
Q=[1 0 0;0 1 0;0 0 1];
A1=[-0.0004 0.00006 0 0;0.00046 2.87 0 0;3 0 0 3;0 1 0 0];4×4的矩阵
Gpr=[0 -1 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0];11×2的矩阵
Ar=[0 1 0 0 0 0 0 0 0 0 0;0 0 1 0 0 0 0 0 0 0 0;0 0 0 1 0 0 0 0 0 0 0;0 0 0 0 1 0 0 0 0 0 0;0 0 0 0 0 1 0 0 0 0 0;0 0 0 0 0 0 1 0 0 0 0;0 0 0 0 0 0 0 1 0 0 0;0 0 0 0 0 0 0 0 1 0 0;0 1 0 0 0 0 0 0 0 1 0;0 1 0 0 0 0 0 0 0 0 1;0 0 0 0 0 0 0 0 0 0 0];11×11的矩阵
M=C1*A1;
M=[3 0 0 3;0 1 0 0];4×2的矩阵
A=[A1 0 0;M 0 Gpr;0 0 Ar];该位置报错了
B1=[0.0002 0;0.0005 0.00065;0 0;-1.03 0];
B=[B1 C1*B1 0];
%%描述矩阵不等式
setlims([]);%初始化LMI系统
G=lmivar(1,[3,1]);%n阶对称正定矩阵
Y=lmivar(2,[3,3]);%m×n阶正定矩阵
gamma=limvar(1,[1,1]);%γ是一个标量
lmiterm([-1,1,1,G],1,1);%矩阵1行1列
lmiterm([-1,2,1,G],A);%矩阵2行1列
lmiterm([-1,2,1,Y],B,C);%矩阵2行1列
lmiterm([-1,2,2,G],1,1);%矩阵2行2列
lmiterm([-1,3,1,G],Q^0.5,1);%矩阵3行1列,Q的0.5次方
lmiterm([-1,3,3,gamma],1,1);%矩阵3行3列
lmiterm([-1,4,1,Y],R^0.5,C);%矩阵4行1列
lmiterm([-1,4,4,gamma],1,1);%矩阵4行4列
lmiterm([-2,1,1,G],1,1);%G是正定的
lmiterm([-3,1,1,Y],1,1);%Y是正定的
lmisys=getlmis;%获取lmi信息
%%求解LMI
[tmin,xfeas]=feasp(lmisys);%可行解
if(tmin<0)
disp('Feasible');
G=dec2mat(lmisys,xfeas,G);
Y=dec2mat(lmisys,xfeas,Y);
else
G=nan;
Y=nan;
end
%cell
end
相关推荐
Python numpy生成矩阵、串联矩阵代码分享
例如,`numpy.eye(3)` 生成3x3的单位矩阵。2. **串联矩阵** - `numpy.row_stack()`: 用于将多个数组按行堆叠。
DEMATEL-ANP耦合建模实战:矩阵构建、一致性校验与代码落地
DEMATEL与ANP是处理多准则网络化决策的核心方法,其本质是通过因果分析(DEMATEL)驱动权重修正(ANP),实现反馈式综合评价。原理上依赖矩阵迭代收敛、超矩阵块状重构及最大特征根λ_max与一致性比率CR的双重验证,技术价值在于突破AHP线性假设,支持指标间非独立、互反馈的复杂系统建模。典型应用于供应链韧性评估、智能制造优先级排序、公共政策影响分析等需动态权重的工程决策场景。本文聚焦DEMATEL-ANP方法代码.zip的实际复现路径,详解MATLAB与Java环境下从原始专家打分到可信权重输出的
CATPAD:沿任何维度串联任意大小的数据。-matlab开发
CATPAD - 通过用 NaN 填充来连接不同大小的矩阵。 M = CATPAD(dim,A1, A2, A3, ..., AN) 沿维度串联将数组 A1 到 AN 调暗成一个大矩阵。 向量做不需要
Matlab 不等长度矩阵串联 内置cat函数的拓展
该函数用于不等长度矩阵的拼接,类型可以是任意的 out=catne(dim,var
向量矩阵求导合集.pdf
此外,我们可能还会讲解关于迹迹运算(Trace)和行列式(Determinant)的微分规则,因为它们在推导矩阵求导过程中经常出现。在处理这些内容时,还必须注意的是向量和矩阵的维度一致性问题。


图象工具使用
