C语言 在图形中查找线性



我正在为一个项目做自动化,我得到的结果是图表的形式,我在其中获取性能结果。

现在,我获取的性能结果通常与图形呈直线。

例如,假设列表中图形的结果可能如下所示:10,30,90,100,150,200,250,300,350,400,450,800,1000,1500,2000,2010,2006,2004,2000,1900,1800,1700,1600,1000,500,400,0。

如您所见,设备的性能开始提高,然后在某一点上它保持线性,并且在发生故障时开始下降。

我想说的是直线。

正如您在数字列表中看到的,我们看到从(2000,2010,2006,2004,2000)开始,有某种线性线。

我不要求任何代码或算法来解决这个问题....我不需要答案。如果有人能给我一个提示或一点线索,我会尽力完成剩下的工作。

你的意思是常量还是线性?如果你的意思是线性:为什么不利用相邻值的差异并搜索一个接近恒定的序列呢?如果你的意思是常量:为什么不取相邻值的差异并搜索接近 0 的序列?

首先确定您可以处理的绝对或相对公差,这决定了什么是直线。

然后通过数组进行迭代,检查一个点的值与下一个点,如果它们在容差范围内,继续迭代,直到你得到一个不是的点并存储这些点。它们代表一条直线。

这个解决方案非常简单,并不完美,需要O(n)时间。

最新更新