如何在Matlab中找到矢量子节的最低平均值?

时间:2014-04-04 15:14:59

标签: matlab

我有一个非常长的列向量(20000长度)。在这20000个值的列表中,我想找到100个产生最低平均值的相邻值。我可以想象某种100长度的帧沿着向量移动,matlab计算所有可能的平均值然后返回最低值。

目标是 - 我想找到矢量中的最小值,但更喜欢找到最小的平均值(使用100作为采样帧)以排除找到低块随机噪声的可能性。

一个罗嗦的问题,但任何帮助表示赞赏。 谢谢, 克里斯

1 个答案:

答案 0 :(得分:4)

  

我可以想象某种100长度的帧沿着向量移动,matlab计算所有可能的平均值

conv与100个相等值的向量一起使用。

  

然后返回最低的

使用min。它的两个输出给出了最小平均值和矢量中那些值开始的索引。


vector = rand(1,20000);
N = 100;
avg = conv(vector, ones(N,1), 'valid') / N; %// length is length(vector)-N+1
[lowestValue, lowestIndex] = min(avg);