我如何组合三个或三个以上的矩阵?

3次查看(最近30天)
阿卡什朋友
阿卡什朋友 2021年8月10日
编辑: 斯蒂芬。 2021年8月10日
y = [repmat (x1,大小(x2, 1), 1), repelem (x2,大小(x1, 1), 1)];
我写这个代码是为了合并两个矩阵行数不同但列相同。
我的问题是我如何能组合多于两个矩阵,其中行数不同,但列是相同的?

接受的答案

斯蒂芬。
斯蒂芬。 2021年8月10日
编辑:斯蒂芬。 2021年8月10日
注意,当您增加矩阵的数量时,您将很快耗尽内存。
格式紧凑的
输入={兰德(3、4),兰德(4,4),兰德(4)};%在一个单元格数组中的所有矩阵。
celldisp(输入)
输入{1}= 0.3652 0.5458 0.7328 0.9886 0.1774 0.4146 0.6908 0.7239 0.5397 0.1625 0.8757 0.0996 inp{2} = 0.4526 0.4298 0.2415 0.8247 0.5996 0.3380 0.2754 0.7322 0.2394 0.6964 0.4858 0.6903 0.1400 0.8696 0.7921 0.3204输入{3}= 0.3385 0.7161 0.8820 0.6369 0.9931 0.9668 0.0144 0.1382 0.8860 0.5127 0.3950 0.9405 0.0639 0.5230 0.1287 0.5097 0.7254 0.00570.9713 - 0.4787
有趣的= @ (m) 1:大小(m, 1);
idr = cellfun(乐趣,可“大学”, 0);
[idr {:}] = ndgrid (idr {:});%逗号分隔列表
baz=@(m,r)m(r(:),:);
tmp=cellfun(baz、inp、idr、,“大学”, 0);
= horzcat (tmp {:})
了= 60×12
0.3652 0.5458 0.7328 0.9886 0.4526 0.4298 0.2415 0.8247 0.3385 0.7161 0.8820 0.6369 0.1774 0.4146 0.6908 0.7239 0.4526 0.4298 0.2415 0.8247 0.3385 0.7161 0.8820 0.6369 0.5397 0.1625 0.8757 0.0996 0.4526 0.4298 0.2415 0.8247 0.3385 0.7161 0.8820 0.6369 0.3652 0.5458 0.7328 0.9886 0.5996 0.3380 0.2754 0.7322 0.3385 0.7161 0.8820 0.6369 0.1774 0.4146 0.6908 0.7239 0.5996 0.3380 0.2754 0.7322 0.3385 0.7161 0.8820 0.6369 0.5397 0.1625 0.8757 0.0996 0.5996 0.3380 0.2754 0.7322 0.3385 0.7161 0.8820 0.6369 0.3652 0.5458 0.7328 0.9886 0.2394 0.6964 0.4858 0.6903 0.3385 0.7161 0.8820 0.6369 0.1774 0.4146 0.6908 0.7239 0.2394 0.6964 0.4858 0.6903 0.3385 0.7161 0.8820 0.6369 0.5397 0.1625 0.8757 0.0996 0.2394 0.6964 0.4858 0.6903 0.3385 0.7161 0.8820 0.6369 0.3652 0.5458 0.7328 0.9886 0.1400 0.8696 0.7921 0.3204 0.3385 0.7161 0.8820 0.6369

答案(1)

KSSV
KSSV 2021年8月10日
编辑:KSSV 2021年8月10日
y =猫(repmat (x1,大小(x2, 1), 1), repelem (x2,大小(x1, 1), 1));
y = [repmat (x1,大小(x2, 1), 1);repelem (x2,大小(x1, 1), 1)];
2的评论
KSSV
KSSV 2021年8月10日
将矩阵存储到单元中并使用

登录评论。

标签

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!