我正在编写一个程序,让我在Matlab中为行星的轨道制作动画。这是有效的,但我希望显示它们在一定时间内完全绕太阳运行的次数。我一直在这样做,将他们开始的位置与他们当前的位置进行比较:abs(current_position - begin_position < precision
。
但这是我的问题:这个精度对于每个行星及其数据都是非常不同的。像木星一样,我必须将此精度设置为0.2,而对于海王星,它必须为0.001,所以我不能只说precision = 0.2
,因为如果我这样做,它会产生我的其他行星的错误。有没有其他方法来比较这些数字或其他方式来实现这一目标?我一直在尝试使用角度,但这并没有很好地发挥作用。
提前致谢。
答案 0 :(得分:0)
我会使用矢量来存储每个行星的精度。 但是,如果位置匹配,则必须检查每次迭代,然后增加轨道数的计数器。
为什么角度会给你带来麻烦?您可以累积角度,减去初始角度,然后计算模数360(或2 * pi)以了解轨道数。