0

我有不错的编程经验,但我数学不好,所以我需要一些关于这些公式的帮助。

在此处输入图像描述

语言并不重要,但我需要弄清楚如何通过这些图形创建公式。我有一辆可以移动的汽车,我需要它平稳移动。我的目标如下:

double acceleration(double x)
{
 //math formulas and so on
 return y;
}

打电话时:

acceleration(140) // should return ~1
acceleration(20) // should return 0.2
acceleration(40) // should return 0.6
acceleration(100) // 0.8
acceleration(160) // ~1
acceleration(180) // ~0.6

等等..

我画了这个,但我想根据这个图形创建一个函数。任何资源/示例将不胜感激。

4

2 回答 2

3

样条插值产生漂亮、平滑、分段多项式曲线,通常用于此类事情。它们通常在库中实现。如果你使用 Java,你可以使用SplineInterpolatorApache Commons Math 来实现这一点。

样条曲线优于普通多项式,因为它避免了插值区间边缘的剧烈振荡(龙格现象)。

另一种选择是将低次多项式拟合到您的数据中。从您的图表看来,4 次多项式就足够了。不过,您对曲线的控制不如样条曲线那么多。

于 2013-06-29T17:53:49.010 回答
1

我的建议是阅读有关函数的多项式拟合的信息。我可以看到你有八个点 - 你发布的六个点加上时间 0 和 200 的零加速度。很容易将多项式拟合到这些点并近似该曲线。

拉格朗日方法很容易。如果您也有想要强制执行的需求连续性,请查看其他人。

于 2013-06-29T17:49:39.233 回答