[数字信号处理][Python] numpy.gradient()函数的算法实现

先看实例

python 复制代码
import numpy as np
signal = [3,2,1,3,8,10]
grad = np.gradient(signal)
print(grad)

输出结果是
-1. -1. 0.5 3.5 3.5 2.

这个结果是怎么来的呢?

np.gradient 计算信号的数值梯度,也就是信号值的变化率。它使用中心差分法来计算中间点的梯度,并使用前向差分法和后向差分法来计算边界点的梯度。

一、边界点:
g r a d 0 = s i g n a l 1 − s i g n a l 0 = 2 − 3 = − 1 grad0 = signal1 - signal0 = 2 - 3 = -1 grad0=signal1−signal0=2−3=−1
g r a d 5 = s i g n a l 5 − s i g n a l 4 = 10 − 8 = 2 grad5 = signal5 - signal4 = 10-8 = 2 grad5=signal5−signal4=10−8=2

二、中间点:
g r a d i = s i g n a l i + 1 − s i g n a l i − 1 2 gradi =\frac{signali+1-signali-1}{2} gradi=2signali+1−signali−1,由此可知
g r a d 1 = s i g n a l 2 − s i g n a l 0 2 = − 1 grad1 =\frac{signal2-signal0}{2} = -1 grad1=2signal2−signal0=−1

其他略。

相关推荐
测试19984 分钟前
Python接口测试之requests库安装和导入
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
%4714 分钟前
DAY 34
python
leisoo809724 分钟前
涨停板次日表现因子怎么挖掘本地化Python全流程实战
大数据·人工智能·python
像颗糖24 分钟前
AG-UI:把 Agent 与前端之间的“私有暗号”变成标准协议
python·agent·ai编程
Zane199430 分钟前
类也是对象?一文讲透元类 metaclass 这件"深度魔法"
后端·python
Fanta丶31 分钟前
3.FastAPI ORM建表
python
云水初1 小时前
【agent篇】RAG 知识库构建避坑指南
开发语言·python·学习·agent·rag
2019一路前行1 小时前
Python 函数、循环语句
开发语言·python
qxqycb2 小时前
python一键反编译工具
python
weixin_BYSJ19872 小时前
springboot技能与工具共享小程序---附源码29657
java·javascript·spring boot·python·小程序·django·php