【问题标题】:Function about math formulas关于数学公式的功能
【发布时间】:2013-06-29 17:46:26
【问题描述】:

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

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

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

等等..

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

【问题讨论】:

  • 您可以对图形使用分段线性逼近。
  • 分段线性不平滑。

标签: math graphics language-agnostic charts physics


【解决方案1】:

Spline interpolation 生成漂亮、平滑、分段多项式曲线,通常用于此类事情。它们通常在库中实现。如果你使用 Java,你可以使用来自 Apache Commons Math 的SplineInterpolator

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

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

【讨论】:

    【解决方案2】:

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

    Lagrangian approach 很容易。如果您也想强制执行要求连续性,请查看其他人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 2018-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多