请教 朔的数目怎么计算呢?
Aquarian-Age opened this issue · 2 comments
用儒略日数当然可以,但不用也可以算。
以编算例子的例一为例,M-1是2016年11月29日,M11是2017年12月18日。2016年11月29日与2017年11月29日相差365日,而12月18日在11月29日后19日,所以离2016年11月29日有365+19=384日。
至于L,只要把日数除以29.53,取最接近的整数即可。上面例子是 384/29.53=13.0037,所以L=13。
用 TDBtimes.txt 计算
也以编算例子的例一为例,要用的数据全部在年份year=2017那行里。首先要将表中的TDB时刻转为UTC,转换方法在此pdf文件最后一节有说明。2016年12月31日23:59:60UTC有闰秒,而2016年12月31日23:59:60UTC的偏略日数是2457754.5,所以在这之前要减68.184秒,之后要减69.184秒。2017年那行的儒略日数都减去了第二栏的值2457753.166666667,而2457754.5-2457753.166666667=1.33333333333333。所以该行所有小于1.33333333333333的数都要减68.184/86400 (1日=86400秒),所有大于1.33333333333333的数要减69.184/86400。减后的数值就是UTC。
查2017年Z11a栏(第三栏)得W2016= -9.219319765574442,即距2016年12月31日0时(UTC+8)为-9.219319765574442日,换成日期就是2016年12月21日18:44(UTC+8)。下一个冬至是(Z11b栏)W2017=356.019407231081,换成日期就是2017年12月22日00:28(UTC+8)。
W2016之前的合朔是(Q0_01栏,第二十八栏)M-1=-31.15400990819405 (2016年11月29日20:18 UTC+8),这一般是Q0_01栏的数据,但有时候是Q0_02栏的数据,判别方法是找出最大的Q0满足floor(Q0) < = floor(W2016),此处floor(x)指不大于x的最大整数。至于M11,则要找出最大的Q0满足floor(Q0) < = floor(W2017)。检视2017年的Q0栏,得知M11=352.604455398704 (2017年12月18日14:30 UTC+8),即Q0_14栏的数。由此算出M11-M-1 = 383.758465306898,除以29.53得12.9955,所以L=13。
用儒略日数当然可以,但不用也可以算。
以编算例子的例一为例,M-1是2016年11月29日,M11是2017年12月18日。2016年11月29日与2017年11月29日相差365日,而12月18日在11月29日后19日,所以离2016年11月29日有365+19=384日。
至于L,只要把日数除以29.53,取最接近的整数即可。上面例子是 384/29.53=13.0037,所以L=13。
用 TDBtimes.txt 计算
也以编算例子的例一为例,要用的数据全部在年份year=2017那行里。首先要将表中的TDB时刻转为UTC,转换方法在此pdf文件最后一节有说明。2016年12月31日23:59:60UTC有闰秒,而2016年12月31日23:59:60UTC的偏略日数是2457754.5,所以在这之前要减68.184秒,之后要减69.184秒。2017年那行的儒略日数都减去了第二栏的值2457753.166666667,而2457754.5-2457753.166666667=1.33333333333333。所以该行所有小于1.33333333333333的数都要减68.184/86400 (1日=86400秒),所有大于1.33333333333333的数要减69.184/86400。减后的数值就是UTC。
查2017年Z11a栏(第三栏)得W2016= -9.219319765574442,即距2016年12月31日0时(UTC+8)为-9.219319765574442日,换成日期就是2016年12月21日18:44(UTC+8)。下一个冬至是(Z11b栏)W2017=356.019407231081,换成日期就是2017年12月22日00:28(UTC+8)。
W2016之前的合朔是(Q0_01栏,第二十八栏)M-1=-31.15400990819405 (2016年11月29日20:18 UTC+8),这一般是Q0_01栏的数据,但有时候是Q0_02栏的数据,判别方法是找出最大的Q0满足floor(Q0) < = floor(W2016),此处floor(x)指不大于x的最大整数。至于M11,则要找出最大的Q0满足floor(Q0) < = floor(W2017)。检视2017年的Q0栏,得知M11=352.604455398704 (2017年12月18日14:30 UTC+8),即Q0_14栏的数。由此算出M11-M-1 = 383.758465306898,除以29.53得12.9955,所以L=13。
原来这个384是这么算来的啊 感谢