您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎么在Python中實現一個曲線擬合操作,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
曲線擬合的例子
import matplotlib.pyplot as plt import math import numpy as np import random import csv plt.rcParams['font.sans-serif'] = ['SimHei']#設置顯示中文 fig = plt.figure() ax = fig.add_subplot(111)#將畫布分割成1行1列,圖像畫在從左到右從上到下的第1塊 #階數為6階 order=6 #生成曲線上的各個點 dataMat = np.loadtxt(open("c:\\yandu.csv","rb"),delimiter=",",skiprows=0) size=dataMat.shape num=size[0] trandata=np.transpose(dataMat)#矩陣轉置 xa=trandata[0]#得到天數數組(橫坐標) ya=trandata[1]#實測鹽度值數組 #數據篩選,去除鹽度值為零的,提高擬合精度 i=0 x=[] y=[] for yy in ya: if yy>0: xx=xa[i] i+=1 x.append(xx) y.append(yy) #繪制原始數據 ax.plot(x,y,label=u'原始數據',color='m',linestyle='',marker='.') #計算多項式 c=np.polyfit(x,y,order)#擬合多項式的系數存儲在數組c中 yy=np.polyval(c,x)#根據多項式求函數值 #進行曲線繪制 x_new=np.linspace(0, 365, 2000) f_liner=np.polyval(c,x_new) #ax.plot(x,y,color='m',linestyle='',marker='.') ax.plot(x_new,f_liner,label=u'擬合多項式曲線',color='g',linestyle='-',marker='') # labels標簽設置 ax.set_xlim(0, 366) ax.set_xlabel(u'天') ax.set_ylabel(u'鹽度') ax.set_title(u'鹽度的日變化', bbox={'facecolor':'0.8', 'pad':5}) ax.legend() plt.show()
看完上述內容,你們對怎么在Python中實現一個曲線擬合操作有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。