python 利用numpy進行擬合

鏈接:http://blog.sina.com.cn/s/blog_aed5bd1d0102vid7.html

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(1, 17, 1)
y = np.array([4.00, 6.40, 8.00, 8.80, 9.22, 9.50, 9.70, 9.86, 10.00, 10.20, 10.32, 10.42, 10.50, 10.55, 10.58, 10.60])
z1 = np.polyfit(x, y, 3)#用3次多項式擬合
p1 = np.poly1d(z1)
print(p1) #在屏幕上打印擬合多項式
yvals=p1(x)#也可以使用yvals=np.polyval(z1,x)
plot1=plt.plot(x, y, '*',label='original values')
plot2=plt.plot(x, yvals, 'r',label='polyfit values')
plt.xlabel('x axis')
plt.ylabel('y axis')
plt.legend(loc=4)#指定legend的位置,讀者可以自己help它的用法
plt.title('polyfitting')
plt.show()
輸出:
          3          2
0.006245 x - 0.2037 x + 2.182 x + 2.572

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章