我建议您从简单的多项式拟合开始,
scipy.optimize.curve_fit尝试将
f必须知道的函数拟合到一组点上。
这是使用
numpy.polyfit和的简单3度多项式拟合
poly1d,第一个执行最小二乘多项式拟合,第二个计算新点:
import numpy as npimport matplotlib.pyplot as pltpoints = np.array([(1, 1), (2, 4), (3, 1), (9, 3)])# get x and y vectorsx = points[:,0]y = points[:,1]# calculate polynomialz = np.polyfit(x, y, 3)f = np.poly1d(z)# calculate new x's and y'sx_new = np.linspace(x[0], x[-1], 50)y_new = f(x_new)plt.plot(x,y,'o', x_new, y_new)plt.xlim([x[0]-1, x[-1] + 1 ])plt.show()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)