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

其他略。

相关推荐
东莞市云毅网络有限公司1 分钟前
把网页表格与列表还原成结构化条目:抽取与对账实现
python·文本处理·数据抽取
夜瞬6 分钟前
从零微调 Qwen3-8B:基于 LoRA 与 LLaMA-Factory 打造专属 AI 编程助教
人工智能·python·llama
障碍的枫子26 分钟前
我的第一个Agent
开发语言·python·langchain
打工仔折腾 AI29 分钟前
260+异构同步链路实战:如何用语义化自动翻译破解CDC DDL同步痛点
人工智能·后端·python·自然语言处理·性能优化·langchain·机器翻译
曲径海盗43 分钟前
【Python 学习第 33 天】条件判断 if/else
python·学习笔记·编程入门
把我格子衫拿来1 小时前
鼠标点到哪里才算选中?Qt 与 VTK 的拾取坐标、DPI 与体素定位
python·qt·vtk·坐标变换·三维交互
泡茶喝茶写代码2 小时前
A股量化策略回测实战:从行情数据到绩效评估(第 1 篇):回测引擎从零搭建
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
RobinDevNotes2 小时前
SGLang 上手:重复的前缀只算一次
人工智能·python·深度学习·sglang·c4python
zyseo82 小时前
谷歌SEO 内链地图脚本:Python 画出权重分发,揪出孤岛页
java·前端·python
破无差2 小时前
精武会徽turtle实现
python