为了账号安全,请及时绑定邮箱和手机立即绑定

Python曲线拟合库,允许我为参数分配边界

Python曲线拟合库,允许我为参数分配边界

米脂 2021-03-12 14:11:47
我希望能够执行拟合,使我可以将任意曲线函数拟合到数据,并允许我在参数上设置任意界限,例如,我要拟合函数:f(x) = a1(x-a2)^a3\cdot\exp(-\a4*x^a5)说:a2 在以下范围内: (-1, 1)a3并且a5是积极的有一个不错的scipy curve_fit 函数,但是它不允许指定参数范围。还有一个不错的http://code.google.com/p/pyminuit/库,该库可以进行泛型最小化,并且可以设置参数的范围,但在我的情况下,它没有涵盖范围。
查看完整描述

3 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

注意:SciPy的0.17版中的新功能


假设您想将模型拟合到看起来像这样的数据:


y=a*t**alpha+b

并限制在alpha上


0<alpha<2

而其他参数a和b保持空闲。然后,我们应按以下方式使用curve_fit的bounds选项:


import numpy as np

from scipy.optimize import curve_fit

def func(t, a,alpha,b):

     return a*t**alpha+b

param_bounds=([-np.inf,0,-np.inf],[np.inf,2,np.inf])

popt, pcov = curve_fit(func, xdata, ydata,bounds=param_bounds)


查看完整回答
反对 回复 2021-03-27
  • 3 回答
  • 0 关注
  • 568 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号