我必须执行以下操作
R = [0,0.5,-0.25; -0.25,0,0.25; 0,0,0.25];
B = [0,K21,K31; k12,0,K32; 0,0,K];
G = INV(R)* B;
G = DET(G);
但是Matlab显示以下错误
???使用==>时出错horzcat
CAT参数维度不一致。
==>中的错误克在60 B = [0,K21,K31; k12,0,K32; 0,0,K];
K21,K31,K12,K32和k的尺寸均为923334 x。任何人都可以帮助我如何进行以下操作。
答案 0 :(得分:1)
您的代码适合我。检查k值(k12,k31,k32 ......)是否为标量(或1x1维度)
编辑:
对于你提到的情况,k是nx1,一种简单的方法是执行循环:
R=[0,0.5,-0.25;-0.25,0,0.25;0,0,0.25];
for ii=1:length(k)
B=[0,k21(ii),k31(ii);k12(ii),0,k32(ii);0,0,k(ii)];
G=inv(R).*B;
g(ii)=det(G);
end
还有一种“矢量化”方式可以做到这一点,但它似乎已经足够了......