[数字信号处理][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

其他略。

相关推荐
2301_764441332 分钟前
用动力学系统(微分方程)为 Kernberg 的客体关系单元提供数学化的操作定义,把“自体—客体“这对心理结构建模成一个二维耦合系统
数据结构·python·算法·数学建模
dogstarhuang21 分钟前
用 Doubao-Seed-Evolving + Python 免费写一个网页正文提取工具(实战教程)
爬虫·python·ai编程
猫头虎1 小时前
什么是ZCode for GLM-5.2?
开发语言·人工智能·python·科技·算法·ai编程·ai写作
心运软件1 小时前
Python实战:中国大学排行榜数据采集与可视化大屏
后端·python
长不胖的路人甲1 小时前
什么是赫夫曼树(哈夫曼树 / Huffman Tree)
python·算法·霍夫曼树
魔镜er2 小时前
03-张量
人工智能·pytorch·python
37.2℃9952 小时前
Claude Design哪个公司技术好
python·设计模式
157092511343 小时前
【无标题】
开发语言·python·算法
AI工具人PM产品经理3 小时前
CSDN 自动发布全流程实战:从 CKEditor HTML 注入到创作页就地发布
python
_Jimmy_3 小时前
Tool Calling 与 Function Calling 区别
人工智能·python·langchain