如何用python进行多项式拟合

数学上已经证明,任何一组数据都可以用多项式来拟合

import matplotlib.pyplot as plt 
import numpy as np
x=[1,2,3,4,5,6,7,8]
y=[1,4,9,13,30,25,49,70]
a=np.polyfit(x,y,2)#用2次多项式拟合x,y数组
b=np.poly1d(a)#拟合完之后用这个函数来生成多项式对象
c=b(x)#生成多项式对象之后,就是获取x在这个多项式处的值
plt.scatter(x,y,marker='o',label='original datas')#对原始数据画散点图
plt.plot(x,c,ls='--',c='red',label='fitting with second-degree polynomial')#对拟合之后的数据,也就是x,c数组画图
plt.legend()
plt.show()

原文地址:https://www.cnblogs.com/shunguo/p/11486656.html