计算日月的视半径的方法(日月食计算第一步)

活动星图 2009-07-12 18:24

一、严格方法
sin(s) = a = r÷Δ

式中r为月球半径,Δ为地月距。在日月食计算中,r采用如下方法得到:r = k×R,R为地球赤道半径,取值6378.14,k取值0.2725076。

可见,精确计算s需要使用asin()函数。


二、简易方法
严格算法比较麻烦,以下简化计算方法,仍十分精确。

sin(s)中的s是个小量,所以级数展开为 sin(s) ≈ s - s3÷6 已十分精确

那么有:s - s3÷6 = a,这个三次方程,使用迭方法求解,方程改写为s = a+ s3÷6
s的初始估值用a代入得:

s = a + a3÷6 = a(1+a2÷6)

由于a的变化范围最多±5%左右,所以可以再次简化:

s = a(1+a2÷6) ≈ a(1+a02÷6)

式中a0为a的平均值,即a0 = r÷384000,考虑到a = r÷Δ 及 r=k×R,上式改写为或者写为:

s = b÷Δ

式中b为常数,即b = r×(1+(r÷384000)2÷6),r=k×R

在实际计算中,b值可以先算好,那么视半径只需用b÷Δ即可精确得到,b = 1738.17 km

这种算法引起的误差不到1毫角秒,而且可以应用于太阳。

三、太阳视半径
对于太阳同样可得到 s = b÷Δ,b取值956.64角秒,Δ单位AU,s单位角秒
人们常称这个b为太阳的单位距离的视半径

四、总结
s = b÷Δ
计算太阳,b取值956.64,Δ单位AU,s单位角秒
计算月亮,b取值1738.17,Δ单位km,s单位弧度
Δ为观测点到太阳(或月亮)的距离

条纹海豚 2009-07-18 18:48

现在本海豚觉得一般用不上这些东西,有日食之类的事情,电视和网络上早就有预报了...

活动星图 2009-07-18 21:35

那多没劲。。。而且一个城市里地方不同,时间也会有几秒到几十秒的差别