python 拟合sigmoid曲线_Scipy-sigmoid曲线拟合

我有一些数据点,想找到一个拟合函数,我想一个累积高斯乙状窦函数会拟合,但我真的不知道如何实现这一点。

这就是我现在所拥有的:import numpy as np

import pylab

from scipy.optimize

import curve_fit

def sigmoid(x, a, b):

y = 1 / (1 + np.exp(-b*(x-a)))

return y

xdata = np.array([400, 600, 800, 1000, 1200, 1400, 1600])

ydata = np.array([0, 0, 0.13, 0.35, 0.75, 0.89, 0.91])

popt, pcov = curve_fit(sigmoid, xdata, ydata)

print(popt)

x = np.linspace(-1, 2000, 50)

y = sigmoid(x, *popt)

pylab.plot(xdata, ydata, 'o', label='data')

pylab.plot(x,y, label='fit')

pylab.ylim(0, 1.05)

pylab.legend(loc='best')

pylab.show()

但我得到了以下警告:.../scipy/optimize/minpack.py:779: OptimizeWarning: Covariance of the parameters could not be estimated

category=OptimizeWarning)

有人能帮忙吗?

我也愿意接受任何其他的可能性!我只需要一个曲线来拟合这些数据。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值