我有一组数据点(x1,y1)(x2,y2)(x3,y3)等。数据是连续点的斜率在大部分时间都在增加。但也有一些例外。我加载数据的软件期望斜率应该总是增加,换句话说,曲线应该是凸的。因此,我需要一组数据点(x1,y1),(x2,y2)等,以便它删除“异常”数据点,并用适当的数据点替换它们,这会导致斜率总是增加。
我打算写一个程序(在C#中)来做这个,但我想我会在这里发帖来检查这是否是一个标准问题并且解决方案可能已经存在。
答案 0 :(得分:0)
解决问题取决于目标。您可以限制自己更改点的Y坐标,同时保持X固定。然后,合理的目标可能是为每个点最小化新Y值Y'和旧值Y之间的绝对差值ABS(Y'-Y)之和。 (我不知道这对你的问题是否合理,但对我来说这听起来并不合理。)
然后可以将问题建模为线性程序,请参阅:
http://en.wikipedia.org/wiki/Linear_programming
在这种情况下,有标准库可以找到最佳解决方案。