繁体   English   中英

如何使用scipy.optimize.curve_fit进行曲线拟合

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM