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 の間の数値を期待しています。