为每个值使用 'for' 在同一数组中查找最多 3 个其他行

find maximum of 3 other rows in same array using 'for' for each value

对于相同的问题,我在以下数组中有 3 个结果:

(0.0 0.0 0.2
 0.8 0.0 1.2
 2.9 1.6 4.3

 0.0 1.5 0.2
 0.0 0.0 0.4
 0.0 2.4 0.3

 0.4 0.3 6.2
 0.9 0.0 0.4
 0.3 0.0 1.2)

例如,一题在位置 (1,1) (4,1) (7,1) 中的结果为 0.0 0.0 0.4。我试图找到最大结果以便只有一个 3x3 数组:

for m=1:3
for n=1:3
sy(m,n)=max(sy(m,n), sy(m+3,n), sy(m+3*2,n));
end
end
sy=imresize(sy, [3 3]);

我用两个矩阵得到 MAX 进行比较,工作维度是 不支持。

假设你的矩阵设置如下:

sy =[0.0 0.0 0.2; 0.8 0.0 1.2; 2.9 1.6 4.3; 0.0 1.5 0.2 ;...
    0.0 0.0 0.4; 0.0 2.4 0.3; 0.4 0.3 6.2; 0.9 0.0 0.4; 0.3 0.0 1.2];

那我觉得:

sy = max(reshape(sy',3,3,3),[],3)';

达到您想要的结果。