數學上已經證明,任何一組數據都可以用多項式來擬合
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()