标签: matlab
我有1975 - 2009年的每日河流流量数据,我被要求找到每年流量最小的连续7天。
有任何建议如何开始吗?我只用了几个星期的MATLAB。
谢谢!
答案 0 :(得分:1)
您可以使用ones(1,7)对数据进行卷积并查找最小值,这将产生干燥期的开始日期:
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是指数的向量,告诉您何时发生。
m
i