在Matlab中获取沿特定轴的蒙版数组的平均值

时间:2018-10-25 23:00:36

标签: arrays matlab mask

我正在尝试平均由Matlab中的遮罩数组指定的3维数组的区域。这在python中相当简单。

import numpy

array = numpy.arange(27).reshape(3,3,3)
mask = numpy.array( [ 
                        [1,0,1],
                        [0,1,0],
                        [1,0,1]
                        ], dtype=bool )

array[mask] = array[mask].mean(0)

将语法转换为matlab会导致错误,因为屏蔽似乎无法以相同的方式进行

array = reshape(1:27, 3,3,3);
mask = [true,false,true;false,true,false;true,false,true];
array(mask) = mean( array(mask), 0 )

我已经尝试了多种不同的方法来使它起作用,但是并没有取得成功。我在mathworks上找到了类似问题的一些答案,它们倾向于使用我完全不熟悉的操作,而我对它们的理解不够充分,无法实现它们。

0 个答案:

没有答案