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

其他略。

相关推荐
默_笙5 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
qq_426003965 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫5 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技5 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读5 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时5 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
奇思妙想聪明勤奋的小羊5 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
lpfasd1235 天前
2026年第38周GitHub趋势周报
python·科技·github
IZero075 天前
Jev 与 Laya
python·语言模型