Matlab 循环拆分 606x606 矩阵为 202x202x3x3 子矩阵
可以使用两层循环来实现这个操作。外层循环控制输出矩阵的行数,内层循环控制输出矩阵的列数。在内层循环中,可以使用切片操作来获取对应的 3x3 矩阵。
下面是示例代码:
% 原始矩阵
A = rand(606);
% 输出矩阵的大小
m = 202;
n = 202;
% 输出矩阵
B = zeros(m, n, 3, 3);
% 循环拆分
for i = 1:m
for j = 1:n
% 获取对应的子矩阵
sub_matrix = A((i-1)*3+1:i*3, (j-1)*3+1:j*3);
% 将子矩阵赋值给输出矩阵
B(i, j, :, :) = sub_matrix;
end
end
在上述代码中,我们首先定义了原始矩阵 A 和输出矩阵 B。然后通过两层循环来遍历输出矩阵的每个元素,在内层循环中,使用切片操作来获取对应的子矩阵,并将其赋值给输出矩阵。最终得到的输出矩阵 B 的大小为 2022023*3。
原文地址: https://www.cveoy.top/t/topic/mNAh 著作权归作者所有。请勿转载和采集!