Python模塊(7)-SciPy 簡易使用教程

SciPy 簡易使用教程

  • 1. 符號計算
  • 2. 函數向量化
  • 3. 波形處理scipy.signal
    • 3.1 濾波器
    • 3.2 波峰定位

基于numpy的一個高級模塊,為數學,物理,工程等方面的科學計算提供無可替代的支持。
做重要的思想是:符號計算和函數向量化

1. 符號計算

demo: n次多項式的表示,以及計算

from scipy import poly1dp = poly1d([3, 4, 5])       # p(x) = 3x^2 + 4x + 5
print(p)
print(p * p)                # p*p = 9x^4 + 24x^3 + 46x^2 + 40x + 25
print(p.integ(k=6))         # 求p(x)的不定積分,指定常數項為6
print(p.deriv())           # 求p(x)的一階導數: 6x + 4
print(p([4, 5]))            # 求p(4),p(5)的結果

輸出

   2
3 x + 4 x + 54      3      2
9 x + 24 x + 46 x + 40 x + 253     2
1 x + 2 x + 5 x + 66 x + 4
[ 69 100]

2. 函數向量化

demo: 寫一個支持向量操作函數

def addsubtract(a, b):# 結合scipy的函數實現向量操作if a > b:return a - belse:return a + b
vec_addsubtract = np.vectorize(addsubtract)
print(vec_addsubtract([0, 3, 6, 9], [1, 3, 5, 7]))
vec_poly1d = np.vectorize(p)
print(vec_poly1d([4, 5]))          # 輸出結果和p([4, 5]) 是一致的

3. 波形處理scipy.signal

3.1 濾波器

基本低通、高通、帶通、帶阻濾波器,關鍵點是計算Wn。假設采樣頻率為1000hz,信號本身最大的頻率為500hz,要濾除400hz以上頻率成分,即截止頻率為400hz,則wn=2*400/1000=0.8。Wn=0.8
數字信號Wn=1NT?21W_n =\frac{\frac{1}{N_T} * 2}{1}Wn?=1NT?1??2? 其中 N_T 為一個周期內的采樣點數
濾波器的階數: 物理上理解,有幾個濾波器串聯。

from scipy import signal
b, a = signal.butter(8, 0.8, 'lowpass')          #8   為濾波器的階數
filtedData = signal.filtfilt(b, a, data)         #data為要過濾的信號b, a = signal.butter(8, 0.2, 'highpass')         #高通
b, a = signal.butter(8, [0.2,0.8], 'bandpass')   #帶通
b, a = signal.butter(8, [0.2,0.8], 'bandstop')   #帶阻

疑問:濾波器的數字實現、頻率濾波器和均值濾波器的關系。

參考文檔:Python實現信號濾波(基于scipy)

3.2 波峰定位

from scipy.signal import find_peaks
x = [......]     # 波形信號
peaks, _ = find_peaks(x, height=0)   					 # 高度大于0的峰
peaks, _ = find_peaks(x, height=(-border, border))       # 高度范圍
peaks, _ = find_peaks(x, distance=150)				     # 要求至少距離150個樣本的峰
peaks, properties = find_peaks(x, prominence=(None, 0.6))   # 嘈雜信號的識別,突出基線信號0.6 高度的峰
peaks, properties = find_peaks(x, prominence=1, width=20)   # 寬度要求# 配套顯示工作
import matplotlib.pyplot as plt
plt.plot(x)
plt.plot(peaks, x[peaks], "x")

突出程度:峰的突出度衡量一個峰從信號的周圍基線中突出多少,并定義為峰與其最低輪廓線之間的垂直距離,

參考文檔:python scipy signal.find_peaks用法及代碼示例

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/444760.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/444760.shtml
英文地址,請注明出處:http://en.pswp.cn/news/444760.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Xcode的Architectures和Valid Architectures的區別

目錄[-] Xcode的Architectures和Valid Architectures的區別 Architectures Valid Architectures 原因解釋如下: 參考1: 所有IOS設備詳情列表 List of iOS devices - Wikipedia, the free encyclopedia 參考2: iOS 7: 如何為iPhone 5S編譯64位…

Python模塊(8)-sklearn 簡易使用教程

sklearn 簡易使用教程1.scikit-learn的數據集2.scikit-learn 的訓練和預測scikit-learn 是在Numpy,SciPy,Matplotlib三個模塊上編寫的,數據挖掘和數據分析的一個簡單有效的工具。scikit-learn包括6大功能:分類,回歸,聚類&#xff…

如何發布GAE的應用(一)

安裝googleSDK的環境: 1 下載安裝包從官網下載 https://cloud.google.com/sdk/downloads -> https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-170.0.0-windows-x86_64-bundled-python.zip 2 如果本地安裝了python,直…

leetcode887 雞蛋掉落

你將獲得 K 個雞蛋&#xff0c;并可以使用一棟從 1 到 N 共有 N 層樓的建筑。 每個蛋的功能都是一樣的&#xff0c;如果一個蛋碎了&#xff0c;你就不能再把它掉下去。 你知道存在樓層 F &#xff0c;滿足 0 < F < N 任何從高于 F 的樓層落下的雞蛋都會碎&#xff0c;…

Docker 的日志相關整理

1 Docker daemon日志的位置 Docker daemon日志的位置&#xff0c;根據系統不同各不相同。 Ubuntu - /var/log/upstart/docker.logBoot2Docker - /var/log/docker.logDebian GNU/Linux - /var/log/daemon.logCentOS - /var/log/daemon.log | grep dockerFedora - journalctl -u…

PaperNotes(15)-圖神經網絡、PyG極簡版入門筆記

圖神經網絡概況1.GNN,GCN,GE的區別2.圖卷積的通式--矩陣該如何作用2.1實現12.2實現22.3實現33.PyTorch geometric3.1 PyG內置數據集3.1.1ENZYMES dataset3.1.2Cora3.2 PyG自定義數據集3.2.1Data構建簡單的圖結構3.2.2 Dataset3.2.3 InMemoryDataset一文讀懂圖卷積GCN(https://z…

leetcode76 最小覆蓋子串

給你一個字符串 S、一個字符串 T&#xff0c;請在字符串 S 里面找出&#xff1a;包含 T 所有字母的最小子串。 示例&#xff1a; 輸入: S "ADOBECODEBANC", T "ABC" 輸出: "BANC" 說明&#xff1a; 如果 S 中不存這樣的子串&#xff0c;則返…

Unity的匹配系統

這個匹配系統是指一個玩家&#xff0c;可以創建一個自己隨意命名的房間&#xff0c;然后其他玩家可以通過聯網去搜索房間&#xff0c;然后加入房間一起游戲 我先講講怎么使用這個匹配系統&#xff1a; 在運行游戲后&#xff0c;因為添加了Network Manager HUD組件&#xff0c;所…

PaperNotes(16)-圖神經網絡GNN簡史、不動點建模-筆記

圖神經網絡簡史、簡介1.圖神經網絡簡史2.圖神經網絡--學習過程3.圖神經網絡--理論基礎4.圖神經網絡的局限5.GNN,RNN,GGNN6.小結閱讀筆記&#xff1a;從圖(Graph)到圖卷積(Graph Convolution)&#xff1a;漫談圖神經網絡模型 (一)(https://www.cnblogs.com/SivilTaram/p/graph_n…

Matchmaker

Unity的多玩家網絡功能包含了玩家在因特網上互相玩而不需要公共IP地址的服務。用戶可以創建游戲,獲取活動游戲列表;加入并退出游戲。當在internet上玩時,網絡流量將通過云中的Unity,而不是直接在客戶端之間進行。這就避免了防火墻和NATs的問題,幾乎可以在任何地方玩游戲。 …

PaperNotes(17)-圖卷積神經網絡GCN-筆記

圖卷積神經網絡GCN-筆記1.卷積是什么2.圖卷積的源起3.空域卷積3.1消息傳遞網絡MPNN3.2 圖采樣與聚合GraphSage4.頻域卷積5.圖結構的序列化-Patch-SAN從圖(Graph)到圖卷積(Graph Convolution)&#xff1a;漫談圖神經網絡模型 (二)(https://www.cnblogs.com/SivilTaram/p/graph_n…

Servlet 工程 web.xml 中的 servlet 和 servlet-mapping 標簽

摘錄某個工程的 web.xml 文件片段&#xff1a;訪問順序為1—>2—>3—>4&#xff0c;其中2和3的值必須相同。 url-pattern 標簽中的值是要在瀏覽器地址欄中輸入的 url&#xff0c;可以自己命名&#xff0c;這個 url 訪問名為 servlet-name 中值的 servlet&#xff0c;兩…

leetcode236 二叉樹的最近公共祖先

給定一個二叉樹, 找到該樹中兩個指定節點的最近公共祖先。 百度百科中最近公共祖先的定義為&#xff1a;“對于有根樹 T 的兩個結點 p、q&#xff0c;最近公共祖先表示為一個結點 x&#xff0c;滿足 x 是 p、q 的祖先且 x 的深度盡可能大&#xff08;一個節點也可以是它自己的…

Unity的 UNet組件介紹

UNet常見概念簡介 Spawn:簡單來說,把服務器上的GameObject,根據上面的NetworkIdentity組件找到對應監視連接,在監視連接里生成相應的GameObject.Command:客戶端調用,服務器執行,這樣客戶端調用的參數必需要UNet可以序列化,這樣服務器在執行時才能把參數反序列化。需要注意…

MachineLearning(10)-聚類

聚類1.K-mean2.系統聚類3.DBSCAN聚類算法聚類&#xff1a;無監督學習&#xff0c;將相似的樣本聚為一類。核心如何定義相似。分類&#xff1a;有監督學習&#xff0c;依據分類準則&#xff0c;將樣本劃分為不同的類。核心分類器的設計&#xff08;KNN&#xff09;聚類&#xff…

幀同步和狀態同步(一)

幀同步 什么是幀同步&#xff1a;幀同步常被RTS(即時戰略)游戲常采用。在游戲中同步的是玩家的操作指令&#xff0c;操作指令包含當前的幀索引。一般的流程是客戶端上傳操作到服務器&#xff0c; 服務器收到后并不計算游戲行為&#xff0c; 而是轉發到所有客戶端。這里最重要的…

幀同步和狀態同步(二)案例分析

轉自&#xff1a;http://www.gameres.com/489361.html 騰訊一下出了兩款MOBA游戲&#xff0c;全民超神&#xff0c;王者榮耀&#xff0c;玩了一下&#xff0c;效果不錯&#xff0c;就分析了一下它底層的一些技術&#xff0c;發現一個是采用的狀態同步&#xff0c;TCP協議&#…

leetcode279 完全平方數

給定正整數 n&#xff0c;找到若干個完全平方數&#xff08;比如 1, 4, 9, 16, ...&#xff09;使得它們的和等于 n。你需要讓組成和的完全平方數的個數最少。 示例 1: 輸入: n 12 輸出: 3 解釋: 12 4 4 4. 示例 2: 輸入: n 13 輸出: 2 解釋: 13 4 9. 思路&#xf…

推薦系統(1)-概述

推薦系統概述1.數據部分2.模型部分2.1模型的組成2.2模型的訓練2.3模型評估《深度學習/推薦系統》讀書筆記推薦系統要處理的問題&#xff1a;對于用戶U(user)&#xff0c;在特定的場景C(context)&#xff0c;針對海量的“物品信息”&#xff0c;構建一個模型f(U,I,C)f(U,I,C)f(U…

(十七)深入淺出TCPIP之UDP打洞原理

專欄其他文章: 理論篇: (一)深入淺出TCPIP之理解TCP報文格式和交互流程 (二)深入淺出TCPIP之再識TCP,理解TCP三次握手(上) (三)深入淺出TCPIP之再識TCP,理解TCP四次揮手(上) (四)深入淺出TCPIP之TCP三次握手和四次揮手(下)的抓包分析 (五)深入淺出TCPIP之TCP流…