[已答复] matlab矩阵组装出现horzcat错误,求解·

[复制链接]
肌肉科研狗00 发表于 2021-7-19 16:36:20
%%%%%%%%%质量阵和刚度阵分块
mii=Me(1:2,1:2);mij=Me(1:2,3:4);
mji=Me(3:4,1:2);mjj=Me(3:4,3:4);

kii=Ke(1:2,1:2);kij=Ke(1:2,3:4);
kji=Ke(3:4,1:2);kjj=Ke(3:4,3:4);  

%总质量阵和刚度阵组装
o=zeros(2,2);
M=[mii mij 0 0 0 0 0 0 0 0;
   mji mjj+mii mij 0 0 0 0 0 0 0;
   0 mji mjj+mii mij 0 0 0 0 0 0;
   0 0 mji mjj+mii mij 0 0 0 0 0;
   0 0 0 mji mjj+mii mij 0 0 0 0;
   0 0 0 0 mji mjj+mii mij 0 0 0;
   0 0 0 0 0 mji mjj+mii mij 0 0;
   0 0 0 0 0 0 mji mjj+mii mij 0;
   0 0 0 0 0 0 0 mji mjj+mii mij;
   0 0 0 0 0 0 0 0 mji mjj];

%%%%%%%%%%%%%%总刚度阵
K=[kii kij 0 0 0 0 0 0 0 0;
   kji kjj+kii kij 0 0 0 0 0 0 0;
   0 kji kjj+kii kij 0 0 0 0 0 0;
   0 0 kji kjj+kii kij 0 0 0 0 0;
   0 0 0 kji kjj+kii kij 0 0 0 0;
   0 0 0 0 kji kjj+kii kij 0 0 0;
   0 0 0 0 0 kji kjj+kii kij 0 0;
   0 0 0 0 0 0 kji kjj+kii kij 0;
   0 0 0 0 0 0 0 kji kjj+kii kij ;
   0 0 0 0 0 0 0 0 0 0 0 kji kjj];

Mr=M(3:20,3:20);
Kr=K(3:20,3:20);

错误使用 horzcat
要串联的数组的维度不一致。

出错 yadianliang (line 69)
M=[mii mij 0 0 0 0 0 0 0 0;



1 条回复


TouAkira 发表于 2021-7-28 22:52:14
你代码里面的 mii 等变量都是二阶方阵,然后特意构造的 o=zeros(2,2) 也是二阶方阵,结果你后面的
M=[mii mij 0 0 0 0 0 0 0 0;…
就用零了??
这不是显而易见的错把字母o当成数字0了吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表