【发布时间】:2019-03-06 03:07:45
【问题描述】:
我有一个数组,
array = [
0.43,
0.64, # => peak
0.2,
-0.05,
-0.15, # => trough
0.2, # => peak
-0.1,
-0.5, # => trough
-0.3
]
数据中有两个峰值和两个谷值。这些波峰和波谷不一定是数组的 min 和 max。如何通过程序识别它们?
理想的输出是:
peak_indexes = [1, 5]
trough_indexes = [4, 7]
【问题讨论】:
-
是什么让 -0.5 成为负峰值?
-
@ElChapo 因为它之前的数据比-0.5更接近0是
-
那么在这种情况下,每个最终元素都会是一个峰值/谷值吗?如果之前的元素更接近 0,则为峰值,如果之前的元素远离 0,则为 Trough。
-
这是一个合理的观点。我会说排除最后一个元素,因为我认为它无法确定它是否是真正的峰值
-
如果峰/谷跨越多个元素,例如
[0.1, 0.6, 0.6, 0.2]?