【发布时间】:2019-09-09 08:57:48
【问题描述】:
我一直在尝试使用 curve_fit() 为我的数据点获得最佳多项式拟合,但我的代码给出了以下错误。有人可以帮助我理解故障所在。非常感谢。
TypeError: 输入类型不支持 ufunc 'bitwise_xor',并且根据强制转换规则 ''safe'' 无法安全地将输入强制转换为任何支持的类型
from scipy.optimize import curve_fit
from scipy.interpolate import *
def func(x, a, b, c, d):
return a*x^3 + b*x^2 + c * x + d
Xdata1 = np.array([10, 20, 30, 60])
Ydata1 = np.array([3, 5, 4, 3.5])
plt.plot(Xdata1, Ydata1, 'bo', label='Raw Data')
popt, pcov = curve_fit(func, Xdata1, Ydata1)
a, b, c, d= popt
plt.plot(Xdata1, func(Xdata1, *popt), 'r--', label='fit')
【问题讨论】:
标签: python numpy matplotlib