数据中的连续最小值组 - MATLAB

时间:2015-02-22 03:36:07

标签: matlab

我有1975 - 2009年的每日河流流量数据,我被要求找到每年流量最小的连续7天。

有任何建议如何开始吗?我只用了几个星期的MATLAB。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用ones(1,7)对数据进行卷积并查找最小值,这将产生干燥期的开始日期:

[~,startingDay] = min(conv(flow,ones(1,7),'valid'))

(这基本上是没有标准化的移动平均滤波器)。 循环多年,以获得每年的结果。

答案 1 :(得分:0)

首先找到cumsum的累计总和。 7天之间累积金额之间的差额将为您提供这7天的总金额。然后选择那些minimum

a = cumsum(flow);
b = a(8:end) - a(1:end-7);
[m,i] = min(b);

此处m在连续7天内保持最小的总数,i是指数的向量,告诉您何时发生。