算法的乐趣 · 第三十二节
《算法的乐趣》第三十二节
本节介绍如何计算日月合朔的时刻,即太阳与月亮地心视黄经差为0的时刻。
本节介绍如何计算日月合朔的时刻,即太阳与月亮地心视黄经差为0的时刻。
计算月亮地心视黄经采用简化版的ELP-2000/82月球理论,仅用60个周期项求和,精度约为10角秒。每个周期项由辐角和振幅组成,辐角由日月距角、太阳与月亮的平近地角、月球生交点平角距四个参数线性组合而成。求和结果需做两步修正:一是地球轨道离心率修正,凡辐角含太阳平近地角的项乘以随时间变化的系数E;二是黄经摄动修正,加上金星、木星摄动及地球扁率影响的附加项。将修正后的周期项和除以一百万,加上月球平黄经,得到地心黄经,最后叠加地球章动修正,即为月球地心视黄经。
已知太阳与月球地心视黄经的算法后,以两者之差为函数,用牛顿迭代法反求差值为0对应的儒略日,即得合朔时间。迭代初值可按平均朔望月长约29.53天估算,计算时需注意角度360度周期性,在0度附近要按360圆整处理。