这是一个相当含糊的问题,但我们在这里 - 我想为一年的每小时测量生成一个时间序列,因此对于2011年,该系列中将有8760个值。为了更容易理解我想要做什么,我将使用一个真实世界的例子:
如果我们有一个时间序列的每小时气温测量值,则绘制整个系列,它看起来类似于钟形曲线,即
a = 0; b = 30;
x = a + (b-a) * rand(1, 8760);
m = (a + b)/2;
s = 12;
p1 = -.5 * ((x - m)/s) .^ 2;
p2 = (s * sqrt(2*pi));
f = exp(p1) ./ p2;
plot(x,f,'.')
最大值出现在夏季中期,最低值出现在冬季。但是,通过放大特定日期,我们会发现温度也会在白天和晚上之间波动,最高温度大约在15:00,最低温度大约在06:00。
所以,我的问题是我将如何生成这个系列,即在夏季中期最大值为30度的时间序列,即值(8760/2),并且还将上面提到的每日模式合并到整个系列中图案?
答案 0 :(得分:3)
这样做的显而易见的方法是将2个正弦波加在一起,一个用于昼夜变化,一个用于年度变化。
正弦波是否足够接近你喜欢的钟形曲线我不知道,但我可以做一个模糊的论证,因为年度和昼夜温度的变化是(部分)产品(大约)圆形运动你应该使用正弦波。
如果您需要帮助生成正弦波更新您的问题。
答案 1 :(得分:2)
如果我正确理解了这个问题,你想要对已知形状的两个系列进行叠加,对吧?如果是这样,你只需要添加它们。重要的是移动日常温度波动信号,使其平均值为0,条件是“年”曲线表示平均温度。