使用已知积分Python进行曲线拟合

时间:2012-07-05 10:06:35

标签: python scipy curve-fitting integral

我有一些数据是箱内未知曲线的积分。为了您的兴趣,数据是海浪能量,而箱子是方向,例如0-15度。如果可能的话,我想在保存箱内积分的数据上加上曲线。我试着用铅笔在记事本上画草图,看起来有可能。有没有人知道Python中的任何曲线拟合工具,例如在scipy插值子包中?

提前致谢

编辑:

感谢您的帮助。如果我这样做,看起来我将尝试本文第4部分中建议的方法:http://journals.ametsoc.org/doi/abs/10.1175/1520-0485%281996%29026%3C0136%3ATIOFFI%3E2.0.CO%3B2。从理论上讲,它基本上使用矩阵从每个波段之间的已知积分中产生一些“假”数据。绘制时,此数据会生成一个保留积分的插值折线图。

4 个答案:

答案 0 :(得分:0)

这有点在我的bailiwick之外,但我可以建议看看SciKits,看看那里有什么可能有用。其他要浏览的软件包是pandasStatsModels。祝你好运!

答案 1 :(得分:0)

如果您的曲线f(x)是另一条曲线g(x)的积分的近似值,即f=int(g,x),那么这两条曲线与Fundamental theorem of calculus相关,即,你的原始函数是第一条曲线g = df/dx的导数。因此,您可以使用numpy.diff或任何higher order methods来估算df/dx以获得原始曲线的估算值。

答案 2 :(得分:0)

一种可能性:计算箱体积的累积总和(np.cumsum),为其拟合插值样条,然后取导数得到曲线。

scipy splines有计算衍生物的方法。

唯一的限制,如果它与您的情况相关,则通过累积和的样条可能不是单调的,并且导数在某些时间间隔可能是负的。

我猜有关平滑直方图的文献看到了对积分/ bin的音量的类似约束,但我没有准备任何参考。

答案 3 :(得分:0)

1 / fit2histogram

您的问题是关于拟合直方图。我刚刚介绍了一些用于Multi-Variate Pattern Analysis的Python包的文档,PyMVPA,并提出了一些直方图拟合函数。这里有一个例子:PyMVPA

但是,我猜这组可用的发行版仅限于着名的发行版。

2 /积分计算

如前所述,下一个解决方案是近似积分值,并将模型拟合到结果数据集。要么你知道导数的显式表达式,要么你使用计算推导:有限差分,分析方法。