最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python曲線平滑的實(shí)現(xiàn)示例

 更新時(shí)間:2022年05月27日 11:25:01   作者:半月夏微涼  
本文主要介紹了Python曲線平滑的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

在編寫(xiě)測(cè)試程序的時(shí)候,由于數(shù)據(jù)幀數(shù)多的原因,導(dǎo)致生成的曲線圖比較難看,如下圖:

在這里插入圖片描述

由于高頻某些點(diǎn)的波動(dòng)導(dǎo)致高頻曲線非常難看,因此需要對(duì)曲線做平滑處理,讓曲線過(guò)渡更平滑。對(duì)曲線進(jìn)行平滑處理,這里推薦使用Savitzky-Golay 濾波器,可以在scipy庫(kù)里直接調(diào)用,不需要再定義函數(shù)。

Python中 Savitzky-Golay 濾波器調(diào)用如下:

tmp_smooth = scipy.signal.savgol_filter(tmp,53,3)

scipy函數(shù)解釋:
scipy.signal.savgol_filter(x, window_length, polyorder, deriv=0, delta=1.0, axis=-1, mode=‘interp’, cval=0.0)[source]
Apply a Savitzky-Golay filter to an array.
This is a 1-d filter. If x has dimension greater than 1, axis determines the axis along which the filter is applied.

在scipy函數(shù)解釋中,x為原始數(shù)據(jù),即上面代碼中的tmp數(shù)據(jù)。window_length是窗口長(zhǎng)度,該值需為正奇整數(shù)。polyorder為對(duì)窗口內(nèi)的數(shù)據(jù)點(diǎn)進(jìn)行k階多項(xiàng)式擬合,k的值需要小于window_length。

現(xiàn)在看一下window_length和k這兩個(gè)值對(duì)曲線的影響。

(1) 首先是window_length對(duì)曲線的平滑作用,代碼如下:

tmp_smooth1 = scipy.signal.savgol_filter(tmp,21,3)
tmp_smooth2 = scipy.signal.savgol_filter(tmp,53,3)

plt.semilogx(f,tmp*0.5,label = 'mic'+str(num+1))
plt.semilogx(f,tmp_smooth1*0.5,label = 'mic'+str(num+1)+'擬合曲線-21',color = 'red')
plt.semilogx(f,tmp_smooth2*0.5,label = 'mic'+str(num+1)+'擬合曲線-53',color = 'green')

在這里插入圖片描述

可以看到,window_length的值越小,曲線越貼近真實(shí)曲線;window_length值越大,平滑效果越厲害。

(2) 再看k值對(duì)曲線的影響,代碼如下:

tmp_smooth1 = scipy.signal.savgol_filter(tmp,21,3)
tmp_smooth2 = scipy.signal.savgol_filter(tmp,53,3)

plt.semilogx(f,tmp*0.5,label = 'mic'+str(num+1))
plt.semilogx(f,tmp_smooth1*0.5,label = 'mic'+str(num+1)+'擬合曲線-21',color = 'red')
plt.semilogx(f,tmp_smooth2*0.5,label = 'mic'+str(num+1)+'擬合曲線-53',color = 'green')

生成曲線圖如下:

在這里插入圖片描述

可以看到,k值越大,曲線越貼近真實(shí)曲線;k值越小,曲線平滑越厲害。另外,當(dāng)k值較大時(shí),受窗口長(zhǎng)度限制,擬合會(huì)出現(xiàn)問(wèn)題,高頻曲線會(huì)變成直線,如下圖所示:

在這里插入圖片描述

參考資源

[1] python 平滑_Python 生成曲線進(jìn)行快速平滑處理
[2] Savitzky-Golay平滑濾波的python實(shí)現(xiàn)

到此這篇關(guān)于Python曲線平滑的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Python曲線平滑內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python?使用ctypes調(diào)用C/C++?dll詳情

    python?使用ctypes調(diào)用C/C++?dll詳情

    這篇文章主要介紹了python?使用ctypes調(diào)用C/C++?dll詳情,文章首先通過(guò)導(dǎo)入ctypes模塊,加載C/C++?dll到python進(jìn)程空間展開(kāi)主題相關(guān)內(nèi)容,需要的小伙伴可以參考一下
    2022-04-04
  • 一文帶你探尋Python中的迭代器

    一文帶你探尋Python中的迭代器

    你知道for...in是底層原理是什么樣的么?這篇文章就來(lái)和大家詳細(xì)講一講Python中迭代器的的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2023-04-04
  • Python下線程之間的共享和釋放示例

    Python下線程之間的共享和釋放示例

    這篇文章主要用示例簡(jiǎn)單介紹了Python下線程之間的共享和釋放,線程一直是Python開(kāi)發(fā)者中的熱點(diǎn)問(wèn)題,需要的朋友可以參考下
    2015-05-05
  • Keras在訓(xùn)練期間可視化訓(xùn)練誤差和測(cè)試誤差實(shí)例

    Keras在訓(xùn)練期間可視化訓(xùn)練誤差和測(cè)試誤差實(shí)例

    這篇文章主要介紹了Keras在訓(xùn)練期間可視化訓(xùn)練誤差和測(cè)試誤差實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • Python Flask自定義URL路由參數(shù)過(guò)濾器的方法詳解

    Python Flask自定義URL路由參數(shù)過(guò)濾器的方法詳解

    Flask是一個(gè)輕量級(jí)的Python Web應(yīng)用框架,它允許開(kāi)發(fā)者以一種簡(jiǎn)潔明了的方式來(lái)構(gòu)建Web應(yīng)用,Flask自定義URL的主要功能在于使得開(kāi)發(fā)者能夠通過(guò)簡(jiǎn)單的路由規(guī)則來(lái)自定義應(yīng)用程序的URL結(jié)構(gòu),本文給大家介紹了Python Flask自定義URL路由參數(shù)過(guò)濾器的方法,需要的朋友可以參考下
    2024-07-07
  • conda使用清華源設(shè)置channel的鏡像

    conda使用清華源設(shè)置channel的鏡像

    今天在下載OpenCV的時(shí)候發(fā)現(xiàn)清華的conda channel鏡像已經(jīng)不能用了,conda需要設(shè)置的源是anaconda的源,本來(lái)就來(lái)介紹一下在conda使用清華源設(shè)置channel的鏡像的方法,感興趣的可以了解一下
    2021-05-05
  • ChatGPT 幫我自動(dòng)編寫(xiě) Python 爬蟲(chóng)腳本的詳細(xì)過(guò)程

    ChatGPT 幫我自動(dòng)編寫(xiě) Python 爬蟲(chóng)腳本的詳細(xì)過(guò)程

    ChatGPT是一種基于大語(yǔ)言模型的生成式AI,換句話說(shuō)它可以自動(dòng)生成類(lèi)似人類(lèi)語(yǔ)言的文本,把梳理好的有邏輯的答案呈現(xiàn)在你面前,這完全不同于傳統(tǒng)搜索工具,這篇文章主要介紹了ChatGPT 幫我自動(dòng)編寫(xiě) Python 爬蟲(chóng)腳本,需要的朋友可以參考下
    2023-02-02
  • Python PySpider爬蟲(chóng)框架安裝使用教程

    Python PySpider爬蟲(chóng)框架安裝使用教程

    PySpider是一個(gè)Python編寫(xiě)的分布式網(wǎng)絡(luò)爬蟲(chóng)框架,它可以幫助開(kāi)發(fā)者快速構(gòu)建和部署爬蟲(chóng),并支持爬蟲(chóng)任務(wù)的分布式運(yùn)行,PySpider基于Twisted網(wǎng)絡(luò)框架和MongoDB數(shù)據(jù)庫(kù),具有高效、穩(wěn)定、易用等特點(diǎn),同時(shí)還提供了一套Web界面,可以方便地查看爬蟲(chóng)任務(wù)的運(yùn)行狀態(tài)和結(jié)果
    2023-11-11
  • pycharm配置Qt?Designer工具的圖文教程

    pycharm配置Qt?Designer工具的圖文教程

    本文主要介紹了pycharm配置Qt?Designer工具的圖文教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • python自動(dòng)生成model文件過(guò)程詳解

    python自動(dòng)生成model文件過(guò)程詳解

    這篇文章主要介紹了python自動(dòng)生成model文件過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值
    2019-11-11

最新評(píng)論

柞水县| 区。| 汶上县| 博湖县| 鸡东县| 清徐县| 东平县| 台南县| 临西县| 宜君县| 龙川县| 安塞县| 桦南县| 大悟县| 霍林郭勒市| 正定县| 固始县| 万州区| 青河县| 宜兴市| 宁阳县| 丹棱县| 康马县| 屏南县| 临澧县| 双江| 邵阳市| 南宫市| 电白县| 库尔勒市| 长子县| 正镶白旗| 穆棱市| 富阳市| 禹州市| 富民县| 闻喜县| 新源县| 汕尾市| 信丰县| 沅江市|