给出具有(x,y)坐标的曲线。我正在努力减少不。如果此公差低于预定义值(y2-y1)/y1
,则使用两点0.01
之间的公差检查来计算下降曲线中的点数,然后考虑该点,否则删除该点。
通过这样做,我在底部相对于曲线顶部得到密集点。
如何在曲线顶部形成密集曲线,使其像底部一样。
一些示例点:
9.99E-10 1.17E+00
1.50E-09 7.53E-01
2.00E-09 1.77E-01
2.50E-09 1.61E-02
答案 0 :(得分:2)
您只是比较身高的变化,但更重要的是坡度的变化。请尝试以下方法:
考虑前三点:
如果从第1到第2的斜率几乎等于从第1到第3的斜率,则删除第2个点。重复。
如果斜率变化很大,则保持第二个点并使其成为新三联的新第一点。
答案 1 :(得分:1)
您应该使用曲线的斜率来确定您需要多少个采样点。一种方法是计算每个点的瞬时导数,可以近似为(y2 - y1) / (x2 - x1)
,其中两个点彼此非常接近。您可以使用(x2 - x1)
的等间距为网格上的整个曲线计算此项。然后你可以看到你原来的方法并不遥远,y2 - y1
可以用来近似斜率,因此你需要多少个采样点,对于固定宽度的曲线样本。
通过使用y2 - y1
,曲线的中间部分将具有最多的采样点数。这直观有意义,因为功能在中间变化最快。在曲线的边缘,由于斜率变化不大,您需要相对较少的样本。