找到类似于下面曲线的最平滑 15% 的最佳方法是什么?
我需要知道开始和结束的 x 坐标。我曾考虑过使用导数函数,但这会给我一个具有最小导数的点,它可能总是也可能不总是最平滑的 15% 的一部分。
我应该查看或建议的任何算法?
找到类似于下面曲线的最平滑 15% 的最佳方法是什么?
我需要知道开始和结束的 x 坐标。我曾考虑过使用导数函数,但这会给我一个具有最小导数的点,它可能总是也可能不总是最平滑的 15% 的一部分。
我应该查看或建议的任何算法?
除非我今天对 calc 的记忆比平时更糟,否则您在这里想要的是二阶导数。
或者,您可以只使用正确大小的滑动窗口,并计算窗口在每个位置的方差,方差最小的应该是最平滑的。
当然,这也取决于你如何定义“流畅”。您是指 Y 值的最小变化,还是(例如)几乎完全笔直(但也几乎垂直)的线至少符合“平滑”的条件?
我会决定分析的分辨率(即封闭区间的大小,称为 delta X),然后正如@Jerry 提到的,在该封闭区间内找到函数的最大值和最小值,包括端点。
这将为您提供n 个间隔(或 delta Xs),并且您将找到每个间隔的最大值和最小值(我们称它们为 delta Ys)。
现在,您基本上已经将函数的域切割成那些n 个delta X,每个都有一个相应的 delta Y。
然后,您应该能够对区间进行分组,以便一组m区间加起来达到函数域的 15%。让我们将一组m间隔称为您的分析“窗口大小”。
看起来你应该能够将窗口滑动到单个 delta X 的宽度上,并将窗口的 delta Ys 相加。存储该值,然后在另一个增量 X 上滑动,直到空间不足(同时在域中保持整个窗口大小)。找到最小的和,这应该对应于“最平滑”的 15%——假设平滑意味着 Y 方差最小。