本文實例講述了Python實現的多項式擬合功能。分享給大家供大家參考,具體如下:
# -*- coding: utf-8 -*-#! python2import numpy as np import matplotlib.pyplot as plt from pylab import mplmpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默認字體plt.rcParams['axes.unicode_minus']=False #解決負數坐標顯示問題 #x的個數決定了樣本量x = np.arange(-1,1,0.02) #y為理想函數 y = 2*np.sin(x*2.3)+0.5*x**3#y1為離散的擬合數據y1 = y+0.5*(np.random.rand(len(x))-0.5)z1 = np.polyfit(x, y, 6)# 生成多項式對象p1 = np.poly1d(z1)pp1=p1(x)###################################plt.plot(x,y,color='g',linestyle='-',marker='',label=u'理想曲線') plt.plot(x,y1,color='m',linestyle='',marker='o',label=u'擬合數據')plt.plot(x,pp1,color='b',linestyle='-',marker='.',label=u"擬合曲線") # 把擬合的曲線在這里畫出來plt.legend(loc='upper left')plt.show()
運行效果:

注意:不同于之前《Python使用Matplotlib模塊時坐標軸標題中文及各種特殊符號顯示方法》上介紹的中文顯示方法,這里使用:
from pylab import mplmpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默認字體
來進行全局的中文顯示設置
另外,使用:
plt.rcParams['axes.unicode_minus']=False
來進行負數坐標的顯示設置
PS:這里再為大家推薦兩款相似的在線工具供大家參考:
在線多項式曲線及曲線函數擬合工具:
http://tools.jb51.net/jisuanqi/create_fun
在線繪制多項式/函數曲線圖形工具:
http://tools.jb51.net/jisuanqi/fun_draw
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數學運算技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》
希望本文所述對大家Python程序設計有所幫助。
新聞熱點
疑難解答