如何使用这些运动形式编程?

时间:2018-07-30 22:33:20

标签: javascript math physics kinematics

我正在尝试为每个图示方程编程(我没有绘制图表):

因此用户可以输入5个变量中的3个,并始终返回缺少的2个变量。在加速度为0的情况下以及其他地方,我遇到了一些被0除的问题。在第二行中寻找时间的方程式,第二个方程式似乎特别奇怪。我还应该从其中的一些问题中得到2个答案。即平方根问题?

首先,这些方程式正确吗?如果它们是正确的,那么我应该在程序中添加哪些规定,以防止被0除的问题以及可能的其他问题。

如果它可以帮助您了解,我正在使用JavaScript,但与语言本身相比,我更关心数学的本质及其与运动学的关系。

非常感谢您。

2 个答案:

答案 0 :(得分:0)

首先,等式是精确的。

然后,查看这些方程,有两个边界条件,其中加速度可以为零(a = 0)或经过的时间可以为零(t = 0),为此必须添加特殊情况以避免除以零误差

  1. 如果a = 0;然后s = ut,v = u
  2. 如果t = 0;则s = 0,u,v,a = undefined(无法确定加速度或速度)
  3. 对于第二个方程式,您可以用这种方法或使用以下方法计算时间: t = (Math.sqrt(u*u + 2*a*s) - u)/a
  4. 在第四种情况下,您可以使用上面的公式和以下公式避免多个答案:t = (v - Math.sqrt(v*v - 2*a*s))/a

希望这会有所帮助。

答案 1 :(得分:0)

从我检查的结果来看,这些都看起来正确。

第2行中的公式2

  

-u / a +/- sqrt(2 * a * s + u ^ 2)/ a

有意义的是有两个可能的值。

如果考虑一下,此等式就是说:给定当前位置,加速度和起始速度,现在是什么时间。 注意:加速度和起始速度不会随时间变化。

由于SUVAT运动是抛物线运动,所以对于给定位置通常会有2个解。

View this example image

在上图中,抛物线表示时间上的位置。水平线表示给定位置。抛物线的形状取决于给定的加速度和起始速度。如您所见,在 2 个点中,给定位置与抛物线相交,并用垂直线标记。