以下是一个示例代码,可以将一个 606x606 的矩阵拆分成多个 3x3 的矩阵:

% 创建一个 606x606 的矩阵
A = rand(606);

% 初始化一个空的矩阵,用于存放拆分后的子矩阵
sub = zeros(3, 3, 606*606/3/3);

% 循环拆分矩阵
k = 1;
for i = 1:3:size(A, 1)-2
    for j = 1:3:size(A, 2)-2
        sub(:, :, k) = A(i:i+2, j:j+2);
        k = k + 1;
    end
end

% 打印子矩阵的数量
disp(['拆分后的子矩阵数量为:' num2str(k-1)]);

这个代码将会生成一个由拆分后的子矩阵组成的 3 维矩阵'sub',其中第 1 维表示子矩阵的行数,第 2 维表示子矩阵的列数,第 3 维表示子矩阵的数量。在上面的代码中,我们通过两个循环遍历每个 3x3 的子矩阵,并将其存储在'sub'中。最后,我们打印出子矩阵的数量,以验证代码的正确性。


原文地址: https://www.cveoy.top/t/topic/mNyQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录