现在,我正在尝试将曲线拟合到大量数据;有两个数组 x 和 y,每个数组有 352 个元素。我已经为数据拟合了一个多项式,效果很好:
import numpy as np
import matplotlib.pyplot as plt
coeff=np.polyfit(x, y, 20)
coeff=np.polyfit(x, y, 20)
poly=np.poly1d(coeff)
但我需要一个更精确优化的曲线,所以我一直在尝试用 scipy 拟合曲线。这是我到目前为止的代码:
import numpy as np
import scipy
from scipy import scipy.optimize as sp
coeff=np.polyfit(x, y, 20)
coeff=np.polyfit(x, y, 20)
poly=np.poly1d(coeff)
poly_y=poly(x)
def poly_func(x): return poly(x)
param=sp.curve_fit(poly_func, x, y)
但它返回的只是:
ValueError: Unable to determine number of fit parameters.
我怎样才能让它工作?(或者我怎样才能将曲线拟合到这些数据?)