寻峰和FWHM

本文解释了如何使用numpy库在Python中通过`np.where(np.diff((T>h).astype(int)))`计算数组T中元素首次超过或低于给定阈值h的索引,这对于信号处理和数据分析中的事件检测至关重要。
摘要由CSDN通过智能技术生成

FWHM

#input (1,1.5,1.7,1.3,1.6,1.3)
h = 1.3
index = np.where(np.diff((T > h).astype(int)))[0]

print(T > h):[F,T,T,F,T,F]
#布尔判定

(T > h).astype(int) :[0,1,1,0,1,0]
#是非转化

np.diff((T > h).astype(int)):[1,0,-1,1,-1]


np.where(np.diff((T > h).astype(int))):
[1,2,4],,dtype=int64  tuple


np.where(np.diff((T > h).astype(int)))[0]:
(array([0, 2, 3, 4], dtype=int64)

index = np.where(np.diff((T > h).astype(int)))[0] 的作用是找出数组 T 中元素值首次穿越给定阈值 h 的位置:

具体步骤

1、T > h 逐元素比较,比较数组 T 的每个元素是否大于阈值 h。结果是一个布尔数组,其中 True 表示 T 中的元素大于 hFalse 表示不大于。

2、(T > h).astype(int): 这一步将布尔数组转换成整数数组。在这个整数数组中,1 表示原数组 T 的元素大于 h0 表示不大于。

3、np.diff(...): np.diff 函数计算数组中连续元素的差值。在这个上下文中,它用于确定 T 数组中元素值何时穿越 h 的值。穿越点的标志是 1(从 0 变为 1,即从 False 变为 True)和 -1(从 1 变为 0,即从 True 变为 False)。

4、np.where(...): 这个函数找出数组中非零元素的索引。在这里,它用于找到 np.diff 计算结果中非零的位置,即 T 数组中值穿越 h 的位置。

所以,index 数组包含了 T 中元素值首次上升穿越 h 和下降穿越 h 的位置的索引。这对于确定元素值如何随时间或位置变化穿越特定阈值非常有用,尤其是在信号处理和数据分析中。

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_43952858

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值