Python中的火星扰动器的公式转换

时间:2018-01-29 23:05:28

标签: python formula

在计算火星时数的过程中,我需要翻译某个公式以获得火星扰动者(PBS)。

该公式为:PBS =Σ(i = 1,7)Ai cos [(0.985626°ΔtJ2000/τi)+φi]

其中A是幅度,τ是周期,φ是根据i的值,在该表中(每个参数的7个值): Table with values

ΔtJ2000是J2000纪元的偏移,我很确定我已经有了正确的值,当需要计算该公式时, 6603.452757146675

所以,这是我使用的代码片段:

A = [0.0071, 0.0057, 0.0039, 0.0037, 0.0021, 0.0020, 0.0018]
tau = [2.2353, 2.7543, 1.1177, 15.7866, 2.1354, 2.4694, 32.8493]
phi = [49.409, 168.173, 191.837, 21.736, 15.704, 95.528, 49.095]

OffsettJ2000 = 6603.452757146675

PBS = 0
for i in range(0, len(A)):
    PBS += A[i] * math.cos(0.985626 * OffsettJ2000 / tau[i] + phi[i])

PBS的结果应该在0,00219º左右(适用于MarsTime 1.2应用程序),但我得到0.00048º

我的错误是什么?感谢火星!

编辑以添加包含NASA所有流程和公式的有用链接(我的是B-3):https://www.giss.nasa.gov/tools/mars24/help/algorithm.html

digitalmeteo

1 个答案:

答案 0 :(得分:0)

您在文本中引用了度数,但是您调用了以弧度为单位的函数(122)。尝试转换:

cos