国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

《崇天歷》的日食預報水平

2018-06-19 02:10滕艷輝王鵬云
咸陽師范學院學報 2018年3期
關鍵詞:計算精度日食歷法

滕艷輝,王鵬云

(咸陽師范學院 數學與信息科學學院,陜西 咸陽 712000)

《崇天歷》是北宋中期由楚衍等天文學家編制的一部歷法,該歷在北宋仁宗朝行用(1024—1064),后又在神宗時行用一段時間(1068—1074),總共行用達48年,是宋代行用時間最長的官方歷法。[1]過去,已有對《崇天歷》朔閏算法和精度的研究[2-4],本文將對其日食推步和計算精度問題展開討論。

1 《崇天歷》的日食推步過程

《崇天歷》的內容記載在《宋史·律歷志》中。[5]2601-2607關于《崇天歷》的交食推算算法的解讀,已經有一些相關研究[6-12],本文不再重述。但為了更方便,我們還是將《崇天歷》的日食計算方法整理成更為清晰緊湊和實用性更強的幾組公式。我們分別給出日食食甚時刻,食分大小和起訖時刻(初虧和復圓)的計算公式。①由于篇幅所限,本文只討論《崇天歷》的日食計算,而不解讀其術文以及如何將術文表示成現代計算公式,因此對《崇天歷》的原術文不再重復給出,對算法術文的詳細解讀可參考文獻[6-12]。

設歷法樞法為A,交點月j=J A,朔望月u=U A,回歸年t=T A,近點月g=G A,J、U、T和G分別表示交點月、朔望月、回歸年和近點月的日分數(交終分、朔實、歲周和轉周分),所求年(如n年)到上元的積年為Nn,則所求年冬至后第m個朔的日食食甚時刻Tre(單位是日)的算法如式(1)所示[6,7,13]

其中r sm表示所求年天正閏日及余,T pm為經朔時刻,r s和r m分別表示本次合朔的入氣日和入轉日,εs和εm則是它們不足一日的部分,即入氣小余和入轉小余。k則是所入氣的序號,并規(guī)定,k=-1時,入大雪氣,k=-2時,入小雪氣。ys、φs和Δs分別是經朔所入氣日的朏朒積、損益率和太陽改正數,ym、φm和Δm分別是經朔所入轉日的朏朒積、損益率和月亮改正數。Trm為定朔時刻,ε是定朔小余,Δh為時差修正。[7]需要說明的是,所入轉某日的朏朒積和損益率可以直接查月離表得到,而所入氣日的朏朒積和損益率則要使用日躔表中每一氣的朏朒積和損益率通過二次插值計算得到。

《崇天歷》推算日食食分的算法如式(2)所示[6,7,13]

其中r pj表示經朔入交泛日,ω為午前(后)分;2a表示二至限,ζ為消息定數,d為半晝分,Δq和Δk分別表示氣差和刻差;交率m0=141和交數n0=1 796是與交食周期有關的數值,r rj是視月亮到黃白交點的距離;P為交前后分,L1和L2分別為日食陽歷食限和陰歷食限,M為食分;其余的變量意義與式(1)中的相同。

日食的初虧時刻Tck和復圓時刻Tfy可用式(3)求得

其中F為初虧到視食甚時間的日分數,即“定用分”,它可以表示為食分的函數。vm是月平行分1 337,而vrm為入轉定分,是合朔時月亮的實際速度,該數值可根據日食所在日入轉的情況直接查月離表得到。

公式(1-3)中,A、j、u、t、g、Nn、L1、L2、a、vm、m0和n0是歷法給出的天文常數,vrm、ys、φs、Δs、ym、φm和Δm可以通過歷法給出的表格查得,n和m是歷法使用者給出的年份和月份,其余所有變量都是中間的計算結果。這樣,只需給出朔望月、回歸年、交點月和陰陽歷食限等基本天文常數,結合歷法的日躔表和月離表,則任意給定年份日食的食甚時刻和食分大小用《崇天歷》均可以求出。

2 《崇天歷》的日食計算精度

《崇天歷》的日食算法公式化特征十分明顯,而且其推算也滿足現代計算機中算法的特征,因此,《崇天歷》的日食推步很容易實現計算機的算法化和程序化。古代歷法計算中涉及的天文常數往往很大,加大了歷法推步的計算量,而計算機可以快速有效的解決這個問題。這樣,我們完全依據古代歷法的基本常數和推算過程,編寫計算機程序,可以準確復原古代歷法的當時推算情況。我們使用Visual Basic 9.0作為程序設計語言,編寫計算機程序,利用程序可以恢復出歷法推算任何一次日食的食甚時刻,食分大小以及食延情況。

接下來考察《崇天歷》的日食計算精度。我們主要看歷法推算日食的食甚時刻及食分大小與真實天象的差距。由于一個交食周期大約為19年,我們選擇以《崇天歷》行用初年為準,向前和向后各推95年,計算這190年間(930—1119)的所有可見日食,得到每次日食的食甚時刻和食分大小?!冻缣鞖v》制歷地點在陽城,所有的食甚時刻與食分值都以開封的為準。這樣,本文就采用《三千五百年歷日天象》中的“十三都日食表”開封的日食結果作為每次日食的真實值。[14]1024-1029我們選取比較結果差值的絕對值平均值、最大值等幾個指標來評價《崇天歷》日食精度。①現代值采用北京時間,歷法值使用開封的地方時,北京與開封的經度差5.65°,時間上是22.6分鐘,在計算中我們已將歷法值開封時間轉換為北京時間。

使用《崇天歷》能夠計算這190年間開封地區(qū)日食達96次,而實際開封地區(qū)在此期間共有可見日食78次?!冻缣鞖v》對這78次日食也不是全能計算出來,有8次可見日食,使用《崇天歷》不能計算。這種情況一般稱為“不當食而食”。開封地區(qū)實際不曾發(fā)生日食而《崇天歷》計算有日食的共有26次,這種情況一般稱為“當食不食”。這26次里有8次是中國境內確實發(fā)生日食,但開封地區(qū)不可見或食分為0。

如果把“當食不食”的真實日食食分和“不當食而食”的歷法推算食分都看稱0分,食分的歷法值與真實值可比較的個數是104個。所有104個比較中,歷法推算失誤的個數應該是34個,比例將近三分之一。食分誤差最大值是5.6分,出現在997年6月8日,本次日食食甚時刻在5時7分,日食帶食日出分數是2.8分,而《崇天歷》卻推算帶食日出分數是8.4分,食甚5時49分。所有推算,食分誤差的絕對值平均值是1.6分。104次比較中,誤差小于2分的有69次,約占三分之二,誤差小于1分的35次,僅占三分之一,而誤差大于3分的也有13次,占八分之一。

《明天歷》的制定者周琮指出“校日月交食,若一分二刻以下為親,二分四刻以下為近,三分五刻以上為遠”。[5]2688如果按這個標準看,《崇天歷》的食分平均誤差達到了“近”的水平,整體上僅有三分之二達到近的水平,而有超過百分之十的推算不合標準。當我們考察那些誤差較大的推算時,發(fā)現大部分的食甚是在日出日落前后,這時視差對食分的影響較大,《崇天歷》的視差算法還存在一定的缺陷。所有誤差中,正值占大部分,即歷法推算的食分偏大,這可能與《崇天歷》選取的必偏食限偏小有關系。

對于“當食不食”和“不當食而食”的食甚,我們沒有辦法比較其食甚的推算。因此,我們去除這34個推算失誤的結果,比較剩余70個食甚的結果,得到《崇天歷》日食食甚的推算精度。70次比較中,食甚最大誤差為1.808 5 h,超過100 min,出現在992年3月7日,開封日食7.6分,食甚17時44分,《崇天歷》算食9.5分,食甚時刻15時33分;食甚誤差小于1 h的57次,超過80%;誤差小于0.5 h的有36次,剛好過半;誤差大于1.25 h(相當于5刻)的有8次,超過10%。整體上,70次的誤差絕對值平均值是0.58 h,合34.8 min。按照周琮的標準,《崇天歷》日食食甚推算總體上也達到了“近”的水平,但仍有10%的推算屬于“遠”的情況?!冻缣鞖v》大部分食甚誤差都是正值,說明其食甚推算后天?!冻缣鞖v》每次日食推算的食甚誤差和食分誤差情況如圖1所示,圖中食甚誤差的橫坐標是公元紀年表示的時間。

無論是食分誤差還是食甚誤差,都有超過10%的推算不能達到當時的標準。于是,在《崇天歷》行用期間,經常出現推算交食不驗。事實上,《崇天歷》的精度問題在其新造出之時便已提出?!端问贰份d,“是年五月丁亥朔,日食不效,算食二分半,候之不食”。[5]2626這次合朔是1024年6月9日,本次朔中國境內并沒有可見日食。但使用《崇天歷》推算結果是有日食,食分大小1.69分,初虧時刻9時58分,食甚時刻10時37分。據此,可知歷法當食一分半,可能史載誤將“一”字錯寫為“二”字緣故?!端问贰酚州d“皇祐四年十一月日食,(二)歷不效”。[5]2877這是1152年11月24日的日食,開封地區(qū)實際食甚時刻14時14分,最大食分1分?!冻缣鞖v》推算本次日食食甚時刻12時55分,最大食分4.39分。這個誤差是相當大的,因此“歷不效”是客觀的。周琮在評價《崇天歷》時也指出,“舊歷氣節(jié)加時,后天半日;五星之行差半次;日食之候差十刻”。[5]263《3崇天歷》行用期間食甚的最大誤差為1.35 h(1046年4月9日日食),約合5.6刻,而歷法的初虧時間又與食分相關,一旦食分誤差較大,初虧誤差出現10刻也不是沒有可能的。雖然周琮可能略夸大了《崇天歷》的推算誤差,但歷法的最大誤差足以造成歷法不能使用而改歷的事實。

圖1 《崇天歷》日食計算精度圖

3 《崇天歷》的時差算法精度

《崇天歷》日食算法中,視差對食甚時刻進行修正的算法是其時差算法,因此時差算法的精度直接影響到其食甚時刻計算精度。現代天文學的視差修正食甚與《崇天歷》的時差意義有所不同,不能進行對應,因此,我們不方便通過比較現代天文學的視差修正與《崇天歷》的時差,得到時差的精度。然而,《崇天歷》的食甚僅是在定朔時刻上加入時差,這樣,食甚誤差就是定朔誤差加上時差誤差。[15]我們已經得到了食甚誤差,如果能夠得到定朔誤差,兩者相減就能反推出時差誤差。我們可以采用文獻[16]中的方法,重新計算每次日食發(fā)生時的定朔值,得到定朔誤差,最后得到時差誤差。

在日食食甚的計算中是要進行定朔計算的,因此我們的程序方便得到定朔的歷法值,定朔的真實值取自《三千五百年歷日天象》“合朔滿月表”中的數值。[14]744-769經過計算和統(tǒng)計,我們得到《崇天歷》時差的精度情況,列于表1中。

《崇天歷》定朔誤差的平均值接近于0,但其時差誤差平均值是正值,加在定朔上面,導致食甚誤差為正,推算后天。時差誤差絕對值均值為0.551 7 h,與食甚誤差相當。其定朔誤差均值僅為0.349 4 h,合21 min,高于《崇天歷》推算定朔的一般水平[3]。觀察時差的標準差和最大值,都比定朔的相應值要大。這樣,我們得到結論,《崇天歷》在有日食的朔日推算定朔的水平比一般情況要高;但其時差修正精度有時高,有時低,波動較大,整體推算偏低,于是其食甚時刻的精度呈現與時差精度相似的趨勢;定朔推算誤差在整個食甚推算中是相對穩(wěn)定的,但也是主要誤差,而時差的誤差是不穩(wěn)定的因素,有可能使得某次推算出現失誤,從整體上降低推算的精度。

《紀元歷》是宋代影響最大的歷法,其日食計算精度在文獻[16]已經給出,我們將《紀元歷》與《崇天歷》的日食精度進行比較。①實際上,關于《崇天歷》前面的《儀天歷》和后面的《明天歷》的日食客觀精度的研究至今仍極少見到,我們只能將其與《紀元歷》相比較。《紀元歷》的時差精度在30 min以上,與之相比,《崇天歷》的時差精度并沒有遜色很多?!都o元歷》日食定朔精度是0.3 h,《崇天歷》也達到了0.34 h,相差僅為3 min,但《紀元歷》的食甚精度0.4 h,相比《崇天歷》的0.58 h,高了10 min。原因就在于《紀元歷》時差修正優(yōu)化的更好一些,每一次推算都不會出現太大的誤差,時差誤差標準差僅為0.3477,兩部歷法精度高低的原因就很明顯了。

《崇天歷》日食食分的計算要使用距午定分和時差兩個量,這兩個量都是食甚計算的結果。因此,食甚的計算精度直接影響到食分的精度,這也就是一般情況下食甚的精度要高于食分的精度的原因所在。

表1 《崇天歷》定朔、時差及食甚誤差統(tǒng)計 誤差單位:h

4 結語

我們根據《崇天歷》的步氣朔、步日躔、步月離和步交會術文,給出了它的完整的日食食甚時刻、食分大小和日食起訖的推算公式。我們利用公式化的算法,將《崇天歷》的日食推步過程編寫為計算機程序,這個程序可以計算任意給定時間的交食情況。

我們計算出自930至1119年這190年間開封地區(qū)的所有日食,并與交食的真實值(用現代天文方法計算并加上地球自轉參數的理論值)作比較,得到《崇天歷》推算日食的精度?!冻缣鞖v》推算日食失誤的比例將近三分之一;食分誤差最大值是5.6分,誤差絕對值平均值是1.6分;食分誤差小于2分的占三分之二,大于3分的占八分之一。《崇天歷》日食食甚推算誤差絕對值平均值是0.58 h,合34.8 min;最大誤差為1.808 5 h,超過100 min;食甚誤差小于1 h超過80%,大于1.25 h(相當于5刻)超過10%。日食推算整體上食甚精度高于食分精度,有超過10%的推算達不到當時的精度要求。

我們使用回推的方法考察了《崇天歷》的時差算法的精度。時差誤差絕對值均值為0.551 7 h,與食甚誤差相當。我們指出《崇天歷》時差算法對食甚的精度造成不穩(wěn)定性的影響,也是食甚誤差的主要來源?!冻缣鞖v》的日食計算水平仍不是很理想,還有待于提高。

[1]滕艷輝,袁學義.宋代歷法沿革[J].咸陽師范學院學報,2012,27(4):78-86.

[2]滕艷輝,王鵬云.《紀元歷》等8部宋代歷法的定朔推步及精度分析[J].中國科技史雜志,2009,30(1):55-64.

[3]滕艷輝.宋代定朔計算精度分析[J].咸陽師范學院學報,2014,29(4):59-67.

[4]滕艷輝,馬俊青.古代歷法氣朔推算記錄的復原[J].咸陽師范學院學報,2018,33(2):8-12.

[5]脫脫,帖睦爾達世,賀惟一,等.宋史·律歷志[M]//中華書局編輯部.歷代天文等志匯編:第8冊.北京:中華書局,1976.

[6]曲安京.中國數理天文學[M].北京:科學出版社,2008:439,483-485,504-505.

[7]王應偉.中國古歷通解[M].沈陽:遼寧教育出版社,1998:592-598.

[8]陳美東.古歷新探[M].沈陽:遼寧教育出版社,1995:368.

[9]曲安京.中國古代日食食差算法的原理[J].自然科學史研究,2002,21(2):97-114.

[10]曲安京.中國古代日食食限與食分算法[J].中國科技史雜志,2008,29(4):347-357.

[11]唐泉,曲安京.中國古代的視差理論——以日食食差算法為中心的考察[J].自然科學史研究,2007,26(2):125-154.

[12]滕艷輝.宋代的日食食限算法[J].科學技術哲學研究,2014,31(5):78-83.

[13]薄樹人.薄樹人文集[M].合肥:中國科學技術大學出版社,2003:369-447.

[14]張培瑜.三千五百年歷日天象[M].鄭州:河南教育出版社,1990.

[15]滕艷輝.宋代的日食時差算法[J].內蒙古師范大學學報(自然科學漢文版),2014,43(4):499-505.

[16]滕艷輝,唐泉.《紀元歷》日食算法及精度分析[J].自然科學史研究,2013,32(2):140-155.

猜你喜歡
計算精度日食歷法
從走馬樓西漢簡歧異干支談漢初歷法混用問題
發(fā)明新歷法
巧觀日食
基于SHIPFLOW軟件的某集裝箱船的阻力計算分析
一日食,四季過
壯美的日食
歷史上最長的一年
EasyNight日食小題板
鋼箱計算失效應變的沖擊試驗
《回回歷法》交食精度之分析
滦南县| 太白县| 丰台区| 侯马市| 右玉县| 东城区| 易门县| 黎川县| 河间市| 永福县| 琼中| 桃源县| 迁安市| 左权县| 和龙市| 房产| 灌南县| 延吉市| 江阴市| 克什克腾旗| 芜湖市| 嘉善县| 望都县| 沁源县| 内江市| 滨州市| 新丰县| 土默特左旗| 潼关县| 濮阳县| 鄂伦春自治旗| 德令哈市| 横峰县| 吴忠市| 鄂托克前旗| 广汉市| 新和县| 深水埗区| 辉南县| 新乐市| 夹江县|