有效的方法将数组划分为瓷砖

1次观看(过去30天)
Yi-xiao刘
Yi-xiao刘 2022年10月31日
评论道: Yi-xiao刘2022年11月2日
我使用以下代码将数组划分为块
n = 2; nrow = 3; ncol = 3;
=重塑(1:36时,6,6)
一个= 6×6
17 13 19 25 31 28 14 20 26 32 3 9 15 21 27 33 4 10 16 22 28 34 5 11 17 23 29 35 6 12 18 24 30 36
= mat2cell (0 (nrow, 1) + n, 0 (ncol 1) + n);
=重塑(1 []);
一个= cellfun (@ (x) x (:),,“UniformOutput”、假);
一个= cell2mat(一个)
一个= 4×9
13 5 13 15 17 25 27 29 24 6 14 16 18 26 28 30 7 9 11 19 21 23 31 33 35 8 10 12 20 22 24 32 34 36
现在每一列都包含每个2 × 2瓦的元素。
问题是当A很大而n很小时,使用单元格数组会产生很大的开销。有没有更有效的方法呢?

接受的答案

马特·J
马特·J 2022年10月31日
编辑:马特·J 2022年10月31日
使用FEX下载,
一个= blkColonTranspose (, (2, 2));
=重塑(4 []);
1评论
Yi-xiao刘
Yi-xiao刘 2022年11月2日
太好了。正是我需要的。谢谢!

登录评论。

更多答案(0)

2022世界杯八强谁会赢?


释放

R2019b

世界杯预选赛小组名单社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!世界杯预选赛小组名单

开始狩猎!

Baidu
map