【发布时间】:2021-06-03 18:25:42
【问题描述】:
我有两个“组”图(即笛卡尔平面上的“xy”图)。所有的形状都相似——实际上是噪声,除了在每个水平轴上某个未知点的“峰值”。例如:
实际上,这些图由两个C 样式的数组(类型为float)组成,分别存储沿x 和y 轴的点。我的目标是将每个“集合”中的图表配对,以使每对中的峰值相对于水平轴尽可能接近地对齐(也就是说,我想遍历一个“集合”并找到“最佳匹配”从第二个“集合”)。我不关心峰的“宽度”,只是他们“对齐良好”。
在实践中,我正在处理数十万个这样的图表,并且需要在时间上有效地“配对”它们。我尝试了一些事情,例如根据它们的 x 或 y 坐标的平均值对图表进行排序,但最终没有得到“很好对齐”的对(我知道更好的配对是可能的)。
例如,这个配对不是很“对齐”(这对由一个图形组成,黄色,配对,蓝色):
我们可以假设这些峰几乎总是具有大致相同的“高度”。图表的横轴范围大致相同,但“长度”完全相同。
编辑:
澄清一下,我知道图表的峰值大约会落在 x 轴上的少数几个点之一(例如,它们可能大致以x=5、x=10 或@987654333 为中心@)。不幸的是,我事先不知道 where,也不知道有多少“点”(尽管大约 3 或 4)。目标是根据图表(大致)集中在哪个点对图表进行分组。
【问题讨论】:
-
您可能需要进一步了解您对“良好对齐”的定义。定量地说,是什么让两个图“对齐”?是否像在每个图上找到最大值并比较这些最大值的位置一样简单?是否涉及频率元素?你关心局部最大值(不是全局最大值的峰值)吗?
-
顺便说一句,如果它们真的是,我会称它们为“系列”或“时间序列”而不是“图表”。图表是数据的可视化,并没有指定数据在一个轴上是单调的。 “图”在这里也很模糊:节点+边等。
标签: algorithm math signal-processing physics