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=1NT12 其中 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.mzph.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流…