农历24节气算法研究
农农24农算法气
农农农
[摘要] 古老而又农代的中农农~是一农天文性农的农农。本文采用国学阳VSOP87星农算法农合农并运学方法以及牛农求根法得到24农的精农农~揭农农农农算的神秘面农。气确
[农农字] 农农算法、星农、农气
[正文] 农算中农农~首先要农算出二十四农农刻。在农算机农世之前~二十四农的农算是非常农农的。国气气
随网国国网着农算机及互农的普及~美航空航天局、法巴黎天文台各自在农上农布了精密星农表的农算方法~农使得民农农算农农成农可能。本文以法巴黎天文台的国VSOP87算法农基农~农出中农农的二十国四农算法。气
在农农中~太农农阳黄0度农~农农春农农。相农农农农的太农相差气气阳黄15度。一周年~太农农内阳黄从0度农化到360度~共有24个气农农。
一、农农农尺儒略日农算——数
农算星农之前首先要解农农尺农农。公农农定平年决365日~农年366日。1582年10月4日以前~公农农定每4年农置一农年~平均年农度个365.25天~农期农的公农农儒略农。在称1582年10月15日之后农行格里高利农~农定每400年97农~平均年农度农365.2425天。
由于儒略农存在农重的“多农”农农~到了1582年~公农快了跑10天左右~农就人农农整了当10天~并从此农行格里农。因此农必注意1582年10月4日;儒略农,的下一日农1582年10月15日;格里农,。就是农1582年10月少了份10天。
在儒略农中~能被4整除的年农农年~农一年有份366天~其年农平年;它份365天,。如900年和1236年农农年~而750年和1429年农平年。
格里高利农法也采用农一农农~但下列年除外,不能被份100整除的年农平年~如份1700年~1800年~1900年和2100年。其余能被400整除的年农农农年~如份1600年~2000年和2400年。儒略日;农儒略日,,数称
儒略日是指公元 数从-4712 年农始农农农算日得出的天及不农一日的小~通常农农 数数数JD (**)。农农上儒略日的农是格林尼治平午~世界农数从即12点农始的。若以力农;或农农农,农农尺~农农农通常学数
表农“儒略农农日”~达即JDE (**)~其中E只是一农表征~按每天即86400个农准秒农农格地农日。例如,
1977年4月26.4日 UT = JD 2443259.9
1977年4月26.4日 TD = JDE 2443259.9
儒略日的农算,
农Y农农定年~份M农月~份D农农月日期;可以农小,。数
若M > 2~Y和M不农~若 M =1或2~以Y–1代Y~以M+12代M~农句农农~如果日期在1月或2月~农被看作是在前一年的13月或14月。
农格里高利农有 ,A = INT;Y/100, B = 2 - A + INT(A/4)农儒略农~取 B = 0
儒略日农,即
JD = INT(365.25(Y+4716))+INT(30.6001(M+1))+D+B-1524.5使用农数30.6取代30.6001才是正的~但我农仍使用确30.6001~以保农能取得恰的整。事农确当数
上可用30.601甚至30.61来取代30.6001。例如~5乘30.6精等于确153~然而大多农算机不数能精表示出确30.6~农农致得出一个152.999 9998的农果~的整部分农它数152~如此算出的JD就不正了。确
由儒略日推算农日,
将JD加上0.5~令 Z 农其整部分~数F 农尾;小,部分。数数
若 Z < 2299161~取A = Z
若 Z 大于等于2299 161~农算
α=INT((Z-1867216.25)/36524.25)
A=Z+1+α-INT(α/4)
然后农算
B = A+1524
C = INT((B-122.1)/365.25)
D = INT(365.25C)
E = INT((B-D)/30.6001)
农月日期;农小部分,农农,数
d = B - D - INT(30.6001E) + F
月份m农,
IF E < 14 THEN m = E – 1
IF E=14 or E=15 THEN m = E – 13
年农份y,
IF m>2 THEN y = C – 4716
IF m =1 or m=2 THEN y = C – 4715农
里求个E农用的数30.6001不能代之以30.6~农算机有先前所农的农农。否农~得到的哪怕没你
农果是会2月0日而不是1月31日~或者4月0日而不是3月31日。农得农住的一常是,个数2000年1月1日12:00:00的儒略日是数J2000 = 2451545二、力农农世界农的差农;学与deltat T,农算
一般的~可以把手表农;UTC,近似看作世界农;UT,~二者的主要差农在于农。如北京手表农区8点农农世界农0点。世界农地球自农农格同步~但有趣的是~我农的手表农农农上农农农世界农~的秒农与称它
是原子农的秒农~由于地球自农速度不均~农快农慢~农就注定手表农地球自农不完全同步。农在~匀与
地球自农速度正在农慢~我农不得不在某些年的年末把手表农慢份1秒~使得手表农更好的地球自农与同步~美言农“跳秒”。力农是根据太系的农力原理农出的~是一农均的农农系农~其秒农并学阳学匀与
原子农的秒农相同。因此~农农世界农;UTC,世界农;农农与UT,其本同步~但力农;农作学TD,世与界农不太同步~二者的差农农作deltat T或农作?T。利用直接的天文农农可以得知每年的?T~利用古代的日月食农农农料可以反推古代的?T。所有年的份?T农算出后~可以农合出以下多农式表~使来达
得?T的农算更快捷~农算农果的农位是秒。
我农利用下表可以农格农算?T;即?T =TD - UT,
年份 a b c d
-4000,108371.7,-13036.80,392.000, 0.0000
-500, 17201.0, -627.82, 16.170,-0.3413
-150, 12200.6, -346.41, 5.403,-0.1593
150, 9113.8, -328.13, -1.647, 0.0377
500, 5707.5, -391.41, 0.915, 0.3145
900, 2203.4, -283.45, 13.034,-0.1778
1300, 490.1, -57.35, 2.085,-0.0072
1600, 120.0, -9.81, -1.532, 0.1403
1700, 10.2, -0.91, 0.510,-0.0370
1800, 13.4, -0.72, 0.202,-0.0193
1830, 7.8, -1.81, 0.416,-0.0247
1860, 8.3, -0.13, -0.406, 0.0292
1880, -5.4, 0.32, -0.183, 0.0173
1900, -2.3, 2.06, 0.169,-0.0135
1920, 21.2, 1.69, -0.304, 0.0167
1940, 24.2, 1.22, -0.064, 0.0031
1960, 33.2, 0.51, 0.231,-0.0109
1980, 51.0, 1.29, -0.026, 0.0032
2000, 63.87, 0.1, 0, 0,
2005
表中每一行适用一定的年代范农~如第1行适用于公元-4000年到-500年~第2行适用于公元-500到-1500年~其农推。每行的起始年农作它份Y1~农止年农作份Y2~如果年份y在Y1到Y2之农~那农农年的deltat T表农,达
?T = a + b*t1 + c*t2 + d*t3~农位是秒
其中t1 = ;y-Y1,/;Y2-Y1,*10~ t2 = t1*t1~ t3 = t1*t1*t1农于2005年以后的deltat T是未知的~要做外推农算,
2005至2014年建农使用1995到2005年期农?T的平均增速农算~,即?T = F(y) = 64.7 + (y-2005) * b~ 其中速度 b = 0.4
2114年以后可以使用二次曲农外推
?T = f(y) = -20+ a * [(y-1820)/100]^2 ~其中加速度a = 312114年到2014年之农的外推~可以在上面外推算式的基农上做一次的曲农农接~使之农农可。两个即
比如可以农农农算,
?T = f(y) + (y-2114) * [f(2014) – F(2014)] /100
以下农可供程序农农考数参
2008年?T = 66.0秒
1950年?T = 29秒
500年 ?T = 5710秒
三、太农农;农分点农坐农,阳黄真
算法基于VSOP87半解析法。
力农学t农J2000起算的儒略世农数~t2 = t*t~t3 = t2*t~t4 = t3*tA、低精度算法
L0(t) = 48950621.66 + 6283319653.318*t 弧度
B、中精度算法
L1(t) = [ 48950621.66 + 6283319653.318*t + 53*t*t
+ 334116*cos( 4.67+628.307585*t)
+ 2061*cos( 2.678+628.3076*t)*t ] / 10000000 弧度
C、高精度算法
L2(t) = [ 48950621.66 + 6283319653.318*t+ 52.9674*t2 + 0.00432*t3 - 0.001124*t4
+334166 * cos( 4.669257+ 628.307585*t)
+3489 * cos( 4.6261 + 1256.61517*t )
+ 350 * cos( 2.744 + 575.3385*t)
+ 342 * cos( 2.829 + 0.3523*t)
+ 314 * cos( 3.628 + 7771.3771*t)
+ 268 * cos( 4.418 + 786.0419*t)
+ 234 * cos( 6.135 + 393.021*t )
+ 132 * cos( 0.742 + 1150.677*t )
+ 127 * cos( 2.037 + 52.9691*t)
+ 120 * cos( 1.11 + 157.7344*t)
+ 99 * cos( 5.23 + 588.493*t )
+ 90 * cos( 2.05 + 2.63*t )
+ 86 * cos( 3.51 + 39.815*t )
+ 78 * cos( 1.18 + 522.369*t )
+ 75 * cos( 2.53 + 550.755*t )
+ 51 * cos( 4.58 + 1884.923*t )
+ 49 * cos( 4.21 + 77.552*t )
+ 36 * cos( 2.92 + 0.07*t )
+ 32 * cos( 5.85 + 1179.063*t )
+ 28 * cos( 1.9 + 79.63*t )
+ 27 * cos( 0.31 + 1097.71*t )
+2060.6 * cos( 2.67823 + 628.307585*t ) * t
+43.0 * cos( 2.635 + 1256.6152*t ) * t
+8.72 * cos( 1.072 + 628.3076*t ) * t2
-994 – 834 * sin(2.1824-33.75705*t)- 64 * sin(3.5069+1256.66393*t) ] / 10000000 弧度
最后行分农农光行差和章农两
四、太农速度阳黄
平速度, v0 = 628.3319653318
即农速度,v1 = 628.332 +21 * sin(1.527+628.307585*t)速度的农位是“弧度/儒略世农”“弧度即/36525天”
注意~平速度比农速度的精度要高得多~农必保即数将来留足农的有效字~否农农农农重的农算农差。五、农农刻农算气
以上天农农农的体黄数即函~L = f(t)~所农的求农农刻就是气已知L求t~农然农是在求解一农于个t的方程。农大的英国学学天文家物理家牛农农出了一农非常有效的迭代算法,牛农求根法。用农农方法~求t所花农的农农农是求f(t)花农农农的1.2——1.3倍。农某农农农的农农农个气黄W~那农算法如下。牛农迭代算法农农,
第1步迭代,t = 0
第2步迭代,t = t + ( W – L0(t) ) / v0
第3步迭代,t = t + ( W – L1(t) ) / v1(t)
第4步迭代,t = t + ( W – L2(t) ) / v1(t)
农差,算法农差2分农以~农农到的农差一般在内找30秒以~平均内15秒
注意,W指的是太农。阳黄1999年春分农农W=0~以后每W每增加15度农农下一农农。个气迭代的的农果是力农~农位是儒略世农。最后农果农农农农农北京农农~,学数即JD = J2000 + t*36525 - ?T/86400 + 8/24
最后使用“儒略日农公农”所数气述方法得到农的日期和农农。
六、农算农果比农
农了农行农差比农~下文列出2007年的24农~气并与寿寿笔《星天文农》比农。《星天文农》是者制作的一款精度农于1秒的农农工具~已农布于互农上~其算法本文农似。网与
农气 本文算法 星天寿农气 本文算法 星天寿
年农年农
春分 2007-03-21 08:06:59 08:07:26秋分 2007-09-23 17:51:31 17:51:14清明 2007-04-05 12:04:21 12:04:39寒露 2007-10-09 00:12:00 00:11:31
谷雨 2007-04-20 19:06:40 19:07:04霜降 2007-10-24 03:15:43 03:15:24立夏 2007-05-06 05:20:10 05:20:23立冬 2007-11-08 03:24:24 03:24:00小农 2007-05-21 18:11:45 18:11:56小雪 2007-11-23 00:50:03 00:49:52芒农 2007-06-06 09:27:02 09:27:04大雪 2007-12-07 20:14:11 20:14:04夏至 2007-06-22 02:06:22 02:06:25冬至 2007-12-22 14:07:48 14:07:47小暑 2007-07-07 19:41:48 19:41:42小寒 2008-01-06 07:24:43 07:24:49大暑 2007-07-23 13:00:13 13:00:10大寒 2008-01-21 00:43:28 00:43:30立秋 2007-08-08 05:31:31 05:31:14立春 2008-02-04 19:00:09 19:00:22农暑 2007-08-23 20:08:07 20:07:58雨水 2008-02-19 14:49:27 14:49:32白露 2007-09-08 08:29:56 08:29:29惊农 2008-03-05 12:58:26 12:58:47