[英]How to do curvefitting using scipy.optimize.curve_fit
我对Python很陌生。 我想使用curve_fit对我的数据进行指数拟合。 这是我的代码:
import numpy as np
from scipy.optimize import curve_fit
xdata= np.array('1, 8, 8, 21, 31, 42, 63, 64, 81, 110, 156, 211, 301, 336, 735')
ydata = np.array('0.018, 0.0164, 0.0042, 0.0072, 0.0108, 0.0044, 0.0035, 0.0036, 0.0042, 0.0051, 0.0019, 0.0042, 0.0019, 8e-4, 2e-4')
def func(x,a,b,m,n):
return a*np.exp(m*x)+b*np.exp(n*x)
curve_fit(func, xdata, ydata)
我收到类型错误说明:“ ufunc'multiply'不包含签名匹配类型为dtype('
有人可以帮我吗? 另外,我想设置一个约束,使参数a和b加到1。
谢谢。
import numpy as np
from scipy.optimize import curve_fit
xdata= np.array([1, 8, 8, 21, 31, 42, 63, 64, 81, 110, 156, 211, 301, 336, 735])
ydata = np.array([0.018, 0.0164, 0.0042, 0.0072, 0.0108, 0.0044, 0.0035, 0.0036, 0.0042, 0.0051, 0.0019, 0.0042, 0.0019, 8e-4, 2e-4])
def func(x,a,b,m,n):
return a*np.exp(m*x)+b*np.exp(n*x)
curve_fit(func, xdata, ydata)
不幸Covariance of the parameters could not be estimated
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.