微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

自变量取决于标准化参数:如何使用 Curve_fit 解决它

如何解决自变量取决于标准化参数:如何使用 Curve_fit 解决它

我正在尝试使用 curve_fit 包来拟合以下函数

def fitfunc(x,a1,b1,a2,b2):
    xc=1.0      
    y1 = (a1 + x*b1)[x<=xc]
    y2 = (a2 + x*b2)[x>xc]
    y = np.concatenate((y1,y2))
    return y

使用此示例数据:

x = np.array([0.5,1.0,1.0001,1.5,2.5])
y = np.array([5.0,0.0,-0.5,-2.5])
ysig = np.array([0.5,0.5,0.5])
r= 0.8 # Ranging from 0.5 to 5.0
r_array= np.array([1.0,0])*r
y = np.array([5.0,-2.5]) * r_array

我需要使用范围从 0.5 到 5.0 的 R 值来评估拟合,这会影响 y 值。

如何在我的 fit 中包含 r 参数?

popt,pcov = curve_fit(fitfunc,x,y,sigma=1./(ysig*ysig),p0=(1.0,1.0))

谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。