我必须执行以下操作
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参数维度不一致。
==> g在60 B=0,k21,k31;k12,0,k32;0,0,k;
K21、K31、K12、K32、k都是923334 * 1的维度,有没有人可以帮我做下面的操作。
发布于 2012-10-30 14:15:58
你的代码对我来说工作得很好。检查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还有一种“矢量化”的方法可以做到这一点,但它似乎已经足够好了……
https://stackoverflow.com/questions/13133529
复制相似问题