2011-08-24 132 views
1

寻找类似于下面曲线的最平滑的15%曲线的最佳方法是什么?寻找最平滑的曲线的15%

curve

我需要知道的开始和结束X坐标。我曾考虑过使用微分函数,但这会给我一个最小导数的点,它可能会也可能不总是最平滑的15%的一部分。

任何算法,我应该看看或建议?

+2

根据* smoothness *的定义 –

+0

定义顺利(呃,呃......糟糕的回忆回来)。 – Rook

+0

它可能有助于在上面的图表上显示您认为是“最平滑”的部分。 –

回答

3

除非我的钙的记忆今天比平常更让我失望,否则你在这里想要的将是二阶导数。

或者,您可以使用正确大小的滑动窗口,并计算每个位置窗口的方差,最小方差的方差应该是最平滑的。

当然,这也取决于你如何定义“光滑”。你的意思是Y值的最小变化,还是会(例如)几乎完美的直线(但也是接近垂直的)线条,以免被视为“平滑”?

+0

谢谢。我去计算差异。这是一个实时应用程序。函数背后的想法是滤除数据中的噪声尖峰(理论上应该是一个常数值)。这是否合格顺利,还是最好的办法......这是我可能无法回答的问题。 – drinck

1

我会决定分析的分辨率(即闭合间隔的大小,称之为delta X),然后如@Jerry所述,找到该闭合区间内函数的最大值和最小值,包括终点。

这会给你n区间(或增量X),你会发现每个区间的最大值和最小值(我们称之为增量Ys)。

现在你基本上已经削减了你的函数的域到这些ň三角洲XS,每一个都具有对应差Y.

然后,您应该能够组的间隔,这样一组间隔总计达15%的功能域。我们称之为一组m间隔你的“窗口大小”的分析。

看起来好像你应该可以在单个增量X的宽度上滑动窗口,然后对窗口的增量Y进行求和。存储该值,然后滑过另一个增量X,直到空间不足(同时保持域中的整个窗口大小)。找到最小的总和,并且应该对应于“最平滑”的15% - 考虑到平滑意味着最小Y方差。