曲线拟合与函数的固定参数的不确定性拟合(Python)

时间:2016-01-14 01:09:41

标签: python curve-fitting uncertainty

我有一个看起来像f(x, m, E, I) = m * (x - x ** 2) / (E * I)的函数,我希望得到E的值。我有一些数据,我称之为XY,以及y数据中的一些不确定性,我称之为yerr。此外,参数mI是物理量,并且已经测量了一些不确定性。

我希望函数f适合我的数据X, Y,同时考虑到数量m, I的不确定性。现在这是我用来做拟合的命令:

m = some value
I = some other value
popt, pcov = curve_fit(lambda x, E: f(x, m, E, I), X, Y, p0=[1e9], sigma=yerr)

当然,这并未考虑mI的不确定性。考虑到这种不确定性,有没有办法拟合曲线?

例如,here他们使用模块不确定性来解决ODE,我试图复制程序但是没有工作:

import uncertainties as u

def f(x, m, E, I):
    return m * (x - x ** 2) / (E * I)

m = u.ufloat(3e-4, 0.1e-6)
I = u.ufloat(1e-10, 0.2e-12)

@u.wrap
def fit():
    popt, pcov = curve_fit(lambda x, E: f(x, m, E, I), X, Y, p0=[1e9], sigma=yerr)
    return popt, pcov

其中X, Y, yerr是前面提到的Y中的数据和错误。

0 个答案:

没有答案