我试图解决的问题是通过算法确定两条曲线在图中是收敛还是发散(从视觉上看,这个问题几乎是微不足道的)。举些例子:
左边是收敛,右边是发散。请注意,在这两种情况下,两条曲线可能有也可能没有相交,但在上面的示例中,相交有助于直观地说明问题。
编辑 - 感谢@JonathanLisic 有用的评论,在这里我试图完善收敛和发散的概念。通过收敛,我的意思是Y
两条曲线之间的差异随着X
增加而减小,并且两条曲线至少相交一次,并且在第一次相交之后,差异Y
仍然很小(所以它们要么相交几次,要么与一些小的差异保持断开连接Y
(并行将是一个特殊情况))。相反,发散是指Y
两条曲线之间的差异随着增加而X
增加,并且两条曲线不相交,除非在开始时可能相交。再次,超越一些平行X
是一个特例。
一种可能的解决方案是首先计算两条曲线之间差异的绝对值,然后用差异拟合曲线/函数。例如,我可以尝试将一条直线拟合到差异数据,如果斜率为负,那么我可以得出两条曲线收敛的结论。否则,它们可能会出现分歧。
但是,我意识到拟合直线可能非常粗糙,因为差异可能会在 x 轴的范围内变得越来越小,然后越来越大,反之亦然。
那么在这里进行曲线拟合的理想方法是什么?