Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from scipy.optimize import curve_fit
- import numpy as np
- def sigmoid(x, x0, k):
- y = 1 / (1 + np.exp(-k*(x-x0)))
- return y
- ppov, pcov = curve_fit(sigmoid, np.arange(len(ydata)), ydata, maxfev=20000)
- ydata1 = [0,0,0,0,0,91,91]
- RuntimeError: Optimal parameters not found: gtol=0.000000 is too small func(x) is orthogonal to the columns of the Jacobian to machine precision.
- ppov, pcov = curve_fit(sigmoid, np.arange(len(ydata1)), ydata1, maxfev=20000, method='dogbox')
- print(ppov[0], ppov[1])
- 5.189237217957538 11.509279446215949
- ydata2=[0,3,5,30,34,50,91]
- ppov, pcov = curve_fit(sigmoid, np.arange(len(ydata2)), ydata2, maxfev=20000)
- print(ppov[0], ppov[1])
- -24.681668846480264 118.77183210605865
- ppov, pcov = curve_fit(sigmoid, np.arange(len(ydata2)), ydata2, maxfev=20000, method='dogbox')
- print(ppov[0], ppov[1])
- 0.28468096463676695 8.154477352500013
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement