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

其他略。

相关推荐
段一凡-华北理工大学4 小时前
工业智能体:从Codex/Claude到项目实战~系列文章05:从“AI助手“到“工业智能体“:能力跃迁与落地范式
人工智能·python·claude·codex·工业智能体·高炉炼铁智能化
深蓝AI4 小时前
ContextVar 到线程池就丢了?asyncio.to_thread 和 run_in_executor 实测
python
岁月宁静5 小时前
什么是 Agent:从"会聊天"到"会做事"
人工智能·python
岁月宁静6 小时前
AI 应用开发工程师简历怎么写:HR 初筛、技术复筛、面试追问,三道关卡各看什么?
人工智能·python·面试
来让爷抱一个6 小时前
Python 异步里混用同步库,事件循环被卡住的全过程
开发语言·python
小肝一下8 小时前
3.基础语法(3)
python
深蓝AI8 小时前
Python 子进程树:父进程被杀后,孙进程为何还在跑?
python
心祭丫丫9 小时前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
爱你真是太好了9 小时前
Skill 索引瘦身与渐进加载
python
贾公子9 小时前
检测链路的容量规划——用 Little's Law 算清 QPS、并发与积压
后端·python