曆法中的數學


數學自古至今時時充斥於我們生活的角角落落,並對我們的生產和生活產生重大影響。天文中的曆法同樣也蘊含著數學的玄機。



公曆中的閏法


我們現在使用的曆法為國際通用的公曆,又稱陽曆。公曆有平年和閏年之分,平年有365天,其中二月有28天,閏年366天,其中二月有29天。公曆中的閏法對閏年是這樣規定的“四年一閏,百年少一閏,四百年加一閏”。為什麼公曆中要安排複雜的閏法呢?


其實這是由地球圍繞太陽公轉決定的。我們知道,地球繞太陽公轉一圈的時間為365天5時48分46秒,而平年僅有365天,剩餘的5時48分46秒是二者之間的誤差,需要折算成天數,通過加閏的辦法,即在二月份加一天,就可將積累的誤差吸收掉。以天為單位,用分數的形式表現這個誤差為:


a=5/24+48/24×60+46/24×60×60=10463/43200≈0.2421991。


從這個分數算式可以看出,在43200年中,需要安排10463個閏年,而消除誤差最好是均勻加閏,但卻不便操作和記憶。如果我們用連分數即可提供方便記憶的閏法。


運用輾轉相除法很容易得到誤差a的連分數表示式為:a=10463/43200=1/4+1/7+1/1+1/3+1/5+1/64。


由連續式可以看出,第一個漸進分數a1=1/4=0.25,說明每隔四年就應該加一天,這就是所謂的“四年加一閏”。由於它是個近似值,而不是精確值,因此還需要修正。第三個漸進分數為a3=1/4+1/7+1/1=8/33≈0.2424242……說明每隔33年就需要加8天,每隔99年需加24天就比較與實際接近。因此100年(與99近似)中應加24天,而不是加25天。這就是“百年少一閏”。如果始終按每100年加24天,那麼43200年就應加432x24=10368(天)。


由a=10463/43200可以知道,經過43200年,就應該加10463天,這就比實際少加了95天,所以,閏法又有了“四百年加一閏”的修正。但是,按照這種規定,就可以算出43200年共加了10463天,比實際又多增加了13天,這又意味著每隔3323年就又多加了一天。而這些還需做進一步的修正。


從以上的介紹可以看出,現在使用的曆法,其精確度是相當高的,但仍需要進行隨時修正,而這一切,均與數學密不可分。


農曆中的“十九年七閏”


中國從古代一直沿用的曆法為農曆,它是由月球繞地球公轉決定的。農曆中的一個月,稱為“朔望月”,約為29.5306天。由於地球繞太陽公轉一周需要365.2422天,因此在一個公曆年中應該設置“農曆月”的個數為:


365.2422/29.5306=12+10.8750/29.5306


從這個算式可以看出,如果每個農曆年均設有12個月,那麼就會產生a=10.8750/29.5306=0.3682621的誤差。要想把這種積累的誤差消除掉,就必須在農曆年份中增加一個月,這個月就是閏月,這個年就稱為閏年。那麼,怎樣增插閏月呢?這就需要先求出a的連分數表示式:


a=1/2+1/1+1/2+1/1+1/1+1/16+1/1+1/5+1/2+1/6+1/2+1/2


從上麵的表示式可以看出,它的前六個逐次漸近分數依次為:a1=1/2≈0.5,a2=1/3≈0.3333333,a3=3/8≈0.375,a4=4/11≈0.3636364,a5=7/19≈0.3684211,a6=116/315≈0.368254。由此可得,a2<a4<a6<a<a5<a3<a1。這表明這些漸進分數是從左、右兩個方向向a的真值逼近的。


朔望月的形成


這些漸進分數所表達的實際意思是:2年1閏太多,3年1閏太少,8年3閏太多,11年4閏太少,19年7閏太多……但是其精確度卻在逐漸提高。如果采用315年116閏的話,其精確度肯定會更高些,但具體製定起來難度非常大,因此,既能比較精確,又能方便製定的閏法當然要數“19年7閏”了。


與公曆閏年不同的是,農曆中閏年的設置不像公曆那樣有簡單的規律。它的設置與一年中的二十四節氣緊密關聯,因而就會使得農曆年份中有的年份沒有立春,有的年份卻有兩個立春。事實上,我國的農民安排農耕農種,其依據是二十四節氣,因此二十四節氣才是真正的農曆。


二十四節氣


玄妙的七色表:

可查出任一天是星期幾


如果你想知道某一天是星期幾,辦法和途徑是很多的,比如,可以查電腦、手機、手表、萬年曆等。還有一種途徑或許你不太熟悉,它就是《七色表》,通過它你可以快速查出任意一天是星期幾。那麼,《七色表》是什麼呢?


1.《七色表》的構造和使用方法


《七色表》共有五個欄目:“星期欄目”、“月份欄目”、“日期欄目”、“公元年份欄目”及由紅、橙、黃、綠、青、藍、紫七種顏色組成的“七色欄目”。


用《七色表》査找某一天是星期幾的方法非常簡單,舉一個例子來說,你要查出1970年6月3日是星期幾,首先你在“月份欄目”內找到6月份所在的橫行,在“日期欄目”內找到3日所在的豎列,在“七色欄目”內二者的交彙處為“橙色”,記住這個顏色;再在“公元年份欄目”內找到1970年,往左在“七色欄目”內1970年所在的行中查到“橙色”,它在上麵“星期欄目”對應的是星期三。


2.《七色表》的由來


《七色表》雖然用起來很簡單,但它卻似乎非常“玄不可測”,那麼它是如何編製出來的呢?


我們知道,如果知道某年的1月1日是星期幾,那麼我們很容易算出這一年中任意一天的星期數,僅需正確算出這一天與1月1日之間相隔幾天就可以了。


公元X年的元旦是星期幾稱為“年代號”,用N表示,其取值集合就是{0,1,2,3,4,5,6},其中的0表示星期日。我們需要找到一個能夠求出任意一年的年代號的公式。


假設公元1年的1月1日為星期一,即它的年代號為N1=1。根據這個假設推導出來的公式,去推算每個年的年代號,如果得出的年代號都是正確的,那麼這個假設自然就是正確的。


我們知道,平年有52個星期加1天,閏年有52個星期加2天,因此有:N1=1,N2=2,N3=3,N4=4,N5=5,N6=0,N7=1……意思是,假如X年為平年,那麼Nx+1=NX+1;假如X年是閏年,那麼Nx+1=NX+1。根據公曆“四年一閏,百年少一閏,四百年加一閏”的潤法,即可得到Nx=x+〔(x-1)/4〕-﹝(x-1)/100﹞+﹝(x-1)/400﹞。


在這個公式中,中括號內的數值均為其中分數的整數部分,這三個中括號的計算結果,即為公元1年至X年之間共出現的閏年個數。我們不難求出21世紀下列各年的年代號:



如果想知道X年y月z日是星期幾,就要先求出年代號Nx。再算出從1月1日到y月z日的前一天總共有多少天,用h表示(y月z日這一天除外),在前y-1月中,它就是大月的月數乘以31(或乘以3),小月的月數乘以30(或乘以2),與2月份的28天或29天(或加上0或1)相加,再與z-1相加,最後用S=Nx+h除以7,得到的餘數即為所要求取得星期數。


如果你認為計算總天數太複雜,那麼可用“月代號法”。我們知道,如果知道一個月的1日是星期幾,我們就不難推算出這一月的任意一天是星期幾,因此這一年中你隻要知道每個月的1日是星期幾,就能推算出這一年的任意一天是星期幾。這一年中的12個月代號數字,就構成了這一年的“月代號數列”,這種數列具有顯著的規律性,是根據公曆的大小月和閏法來確定的。下圖表示的就是2010年到2014年的“月代號數列”,其中有12個粗體數字,表示的是比上年對應的同月數字多2,其他部分均多1。根據這種“月代號數列”,就可製造出《七色表》。



需要特別注意的是,公元前45年至1582年10月4日,使用的是儒略曆。而現在通用的格裏曆,是從1582年10月15日開始的,這中間有10天是跳過來的。因此,運用《七色表》查找星期的方法僅適用於格裏曆。


作者:原理君


本作品為“科普中國-科學原理一點通”原創

轉載時務請注明出處



點開原文,你會打開科學之門哦!


下一篇 : 麵試必備 | 找工作看過來,麵試不再是難事


微信掃一掃
分享文章到朋友圈