Python 的多項式曲線擬合

import numpy as np
import pylab as plt

# 隨機產生資料點來Fit
x = np.random.rand(7)
y = np.random.rand(7)

# 最高次項為4次方的多項式
line4 = polyfit(x, y, 4) 
pn4 = poly1d(line4) 

line3 = polyfit(x, y, 3) # 最高次項為3次方的多項式
pn3 = poly1d(line3)

xaxis = linspace(0, 1, 100)
plt.plot(x, y, 'o', xaxis, pn4(xaxis),'-g', xaxis, pn3(xaxis),'-b')
plt.legend(['data to fit', '4th degree poly', '3th degree poly'])
plt.axis([0,1,0,1])
plt.show()
再提高次方數可以擬合的更好,點到即止。

留言

這個網誌中的熱門文章

python 找圖自動點擊

Python pyserial 抓取系統內的 COM PORT

VBA EXCEL 工作表變化 馬上執行 的作法 Worksheet_Change