跳转至内容

计算机编程/物理/加速物体的位置函数

来自Wikibooks,开放世界中的开放书籍

维基文库:源代码

加速物体的位移可以用数学函数来描述。可以使用泰勒级数得到广义函数

,

其中阶导数

  • 等等。

此函数的精度取决于所用项的数量,因为迅速减小。此外,时间可以同步,使得麦克劳林级数)。

请注意,对于恒定加速度,大多数项都变为零,我们剩下的是

template<class Vector,class Number>
Vector PositionAcceleratingBody(Vector *s0,Number t,size_t Accuracy)
{
     Vector s(0);     //set to zero if int, float, etc. or invoke the
                      //     "set to zero" constructor for a class
     Number factor(1);//0!==1 and t^0==1
     for(size_t n(0);n<Accuracy;n++)
     {
          if(n)factor*=(t/n);//0!==1 and t^0==1
          s+=(factor*s0[n]); //s0 is the array of nth derivatives of s
                             //     at t=t0=0
     }
     return s;
}

使用泰勒级数的理由

[编辑 | 编辑源代码]

泰勒级数可以通过系统地选择哪些变量是常数,然后将其外推到无限极限来推导。

  • 恒定位置
  • 恒定速度
  • 恒定加速度
  • 加速度变化率恒定

  • 等等。
华夏公益教科书