我正在使用 Mathematica 7。
我有一个插值函数,这是一个例子:
pressures =
WeatherData["Chicago", "Pressure", {2010, 8}] //
DeleteCases[#, {_, _Missing}] & //
Map[{AbsoluteTime[#[[1]]], #[[2]]} &, #] & // Interpolation;
我想计算它的导数,这很简单:
dpressures = D[pressures[x], x]
现在,如果你绘制这个函数
Plot[3600*dpressures, {x, AbsoluteTime[{2010, 8, 2}], AbsoluteTime[{2010, 8, 30}]}]
(抱歉,不知道如何从 Mathematica 中发布图像,也没有时间弄清楚。)你会发现它非常嘈杂。所以,我想把它弄平。我的第一个想法是使用 Convolve,并将其与高斯核集成,如下所示:
a = Convolve[PDF[NormalDistribution[0, 5], x], 3600*dpressures, x, y]
退货
360 Sqrt[2/\[Pi]] Convolve[E^(-(x^2/50)), InterpolatingFunction[{{3.48961266 10^9, 3.49228746 10^9}},<>], ][x], x, y]
这在我看来是合理的。不幸的是,我相信我在某个地方犯了错误,因为我得到的结果似乎无法评估。那是:
a /. y -> AbsoluteTime[{2010, 8, 2}]
退货
360 Sqrt[2/\[Pi]] Convolve[E^(-(x^2/50)), InterpolatingFunction[{{3.48961266 10^9, 3.49228746 10^9}},<>][x], x, 3489696000]]
这不是我想要的,我期待一个介于 -1 和 1 之间的数字。