gpt4 book ai didi

arrays - 一种比较峰值的算法 : are they in phase or not?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:39:47 29 4
gpt4 key购买 nike

我正在开发一种算法来比较两个数字列表。这些列表表示使用 robust peak detection method 在信号中发现的峰.我希望想出一些方法来确定峰值是同相、异相还是两者都不是(无法确定)。例如:

这些数组将被认为是阶段性的:

[ 94 185 278 373 469], [ 89 180 277 369 466]

但是这些数组会异相:

[51 146 242 349], [99 200 304 401]

没有要求数组的长度必须相同。我调查了measuring periodicity ,但是在这种情况下,我可以假设信号已经是周期性的。

我的另一个想法是将所有数组元素除以它们的索引(或它们的索引+1)以查看它们是否聚集在一个或两个点周围,但这并不稳健并且如果缺少单个峰则失败。

哪些方法可能有助于解决这个问题?

最佳答案

一种方法是找到第一个列表中的每个峰到第二个列表中的峰的中值距离。

如果将此距离除以第一个列表中峰之间的中值距离,您将得到一个分数,其中 0 表示同相,0.5 表示异相。

例如:

[ 94 185 278 373 469], [ 89 180 277 369 466]
94->89 = 5
185->180 = 5
278->277 = 1
373->369 = 4
469->466 = 5

Score = median(5,5,1,4,5) / median distance between peaks
= 5 / 96 = 5.2% => in phase


[51 146 242 349], [99 200 304 401]
51->99 = 48
146->99 = 47
242->200 = 42
349->304 = 45
score = median(48,47,42,45) / median distance between peaks
= 46 / 95.5
= 48% => out of phase

关于arrays - 一种比较峰值的算法 : are they in phase or not?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45151044/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com