为什么功能顺序很重要?

问题描述 投票:0回答:1

我正在尝试适应某些数据的功能遇到问题。我有一个模型,该模型由函数内部的方程式给出,该函数用于查找v的值。但是,我在函数定义中写入变量的顺序会极大地影响v的拟合值。在下面的代码块中,我有def MAR_fit(v,x),其中x是自变量,拟合给出的v值与我具有定义def MAR_fit(x,v)时有很大不同。我对scipy包中的curve_fit函数没有足够的经验,而文档仍然让我感到奇怪。

任何帮助都会很棒!

def MAR_fit(v,x):
    return (3.*((2.-1.)**2.)*0.05*v)/(2.*(2.-1.)*(60.415**2.)) * (((3.*x*((2.-1.)**2.)*v)/(60.415**2.))+1.)**(-((5./2.)-1.)/(2.-1.))

x = newCD10_AVB1_AMIN01['time_phys'][1:]


y = (newCD10_AVB1_AMIN01['MAR'][1:])
popt_tf, pcov = curve_fit(MAR_fit, x, y)
python curve-fitting scipy-optimize
1个回答
0
投票

再次查看documentation,它说传递给curve_fit的可调用对象(您要尝试使用的函数)必须将自变量作为其第一个参数。进一步的参数是您要适合的参数。您必须使用MAR_fit(x,v),因为这正是curve_fit的期望。

© www.soinside.com 2019 - 2024. All rights reserved.