可以使用循环来实现这个操作。首先,创建一个 9x9 的全零数组。

A = zeros(9,9);

然后,使用两个嵌套的循环来遍历数组的每个 3x3 的子区域,并设置对应的值。

for i = 1:3:7
    for j = 1:3:7
        A(i:i+2,j:j+2) = mod(ceil(i/3)+ceil(j/3),2)+1;
    end
end

这里使用了mod函数和ceil函数来计算每个子区域应该设置的值。mod(ceil(i/3)+ceil(j/3),2)+1会产生 1 和 2 之间的循环序列。

最后,输出数组 A 的结果。

disp(A);

完整代码如下:

A = zeros(9,9);

for i = 1:3:7
    for j = 1:3:7
        A(i:i+2,j:j+2) = mod(ceil(i/3)+ceil(j/3),2)+1;
    end
end

disp(A);

运行结果如下:

1     1     1     2     2     2     1     1     1
1     1     1     2     2     2     1     1     1
1     1     1     2     2     2     1     1     1
2     2     2     1     1     1     2     2     2
2     2     2     1     1     1     2     2     2
2     2     2     1     1     1     2     2     2
1     1     1     2     2     2     1     1     1
1     1     1     2     2     2     1     1     1
1     1     1     2     2     2     1     1     1
MATLAB 9x9 数组分块设置元素值

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

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