计算每列的特定阈值以上的平均值

时间:2016-10-13 20:54:56

标签: matlab

我的数据位于名为x的nxm数组中。我想要做的是计算高于某个阈值的每列中的值的平均值。所以输出应该是1xm向量。

mean(x)显然没有指定阈值。 mean(x>70)执行真值检查,基本上返回高于每列的阈值的值的百分比

您可以定义一个新变量

y = x > 70

然后

mean(x(y))

但这会返回x的所有列的平均值。

通过为每列提供一行代码,这是一种非常麻烦的方法。

mean(x(y(1:end,1)))

等等,但这显然是丑陋的。

我觉得我在这里错过了一些简单的东西。希望有人能够提供帮助。

1 个答案:

答案 0 :(得分:0)

你已经忘记了你可以通过元素来增加掩码

threshold = []; %define threshold here; it can be a 1xm vector or a scalar.
output = sum(x.*(x>threshold))./sum(x>threshold);