《時間之問》第5周C 為什麼閏月多在夏天,而臘月很少閏月?

《時間之問》(跨學科師生討論)系列目錄內容梗概:上次已經確定了「19年7閏」,但這7個閏月到底安排在一年當中的哪個月?2000多年前漢朝人就發明了一種精巧的置閏方法:「無中置閏」,完美地解決了增加閏月引起的多與寡的問題,其中竟蘊藏了「中氣」的數字秘密和令人驚嘆的古老智慧!通過進一步研究過去未來600年間閏月的分布情況,發現了閏月的出現的概率最大的季節。通過進一步調查,發現從16/17世紀天文學家開普勒的偉大發現中我們可以找到一個圓滿的解釋。學生問道:「既然已經確定了19年里加7個閏月,那接下來,這7個閏月加在哪些年份的哪個月呢?換句話說,如何增加閏月才能夠讓節氣盡量符合月份?」「我們不妨先看看之前講的19年7閏是怎麼來的。它是從3年1閏、8年3閏等一步一步優化而來的。那我們先看看為什麼3年就要加一個閏月。」「那是因為每年陰曆和陽曆會累積10.89天的差距,3年後就累積到了30多天,所以剛好可以插入一個閏月來抵消這種差距。」 學生說道。「沒錯。那8年3閏,這3個閏月是添加到哪些年份呢?是等到8年結束時才把3個閏月添加到8年的結尾,還是每隔2-3年就添加一個閏月好呢?」「我覺得是每隔2-3年添加一個閏月比較好,因為這樣不至於到8年結束的時候陰曆和陽曆相差太多。」 學生說。「很好。那麼剛剛我們畫的8年3閏的圖就要做一下修改。第3年結束的時候誤差累積到了30多天,所以要加入一個閏月,到第6年結束的時候誤差又累積到了30多天,需要再加入一個閏月,到第8年結束的時候,誤差累積到了將近30天,再加一個閏月,總共3個閏月。」

8年3閏:並不是在8年結束時才一次性增加3個閏月,而是每過2-3年就增加1個閏月「這個問題我明白了,可是在第3年、第6年和第8年里,閏月到底該加入到第幾個月後面呢?」 學生問道。「繼續運用這個誤差累積到一定長度就需要添加閏月的思路,我們就知道在哪個月添加閏月了,只不過這時我們不是以「年」為單位來計算累積的差距了,而是要以「月」為單位來看累積的差距了。」「也就是說要細分得更加小?」「對。我們要以「月」為單位來看到哪個月結束的時候,誤差累積到一個月,那就在那個月後面添加一個閏月。」「嗯,明白。」「也就是說,之前我們是想辦法調和一個太陽回歸年和12個朔望月(365.25天 vs. 354.36天)。而現在我們要更加精細,把一個太陽回歸年365.25等分成12份,每份就是30.44天。而12朔望月分成12份,每份就是一個朔望月29.53天。這二者也不是整數倍關係,所以要想辦法調和。」 老師說道。「把一年等分成12份?」 學生好奇地問到,「二十四節氣是把一年分成24份,怎麼這麼巧,剛好是2倍。」「如果是把24節氣看成是12個節氣和12個中氣的話,那麼每兩個節氣或者每兩個中氣之間剛好是30.44天。」 老師提醒到。(附註:按照「平氣」的計算方法。)「哦,是啊,難道節氣和設置閏月有什麼關係嗎?」 學生驚訝地問道。「你很聰明!」 老師說道,「不過我們還是先看看怎麼用累積誤差的方法添加閏月吧。到時候我們就知道節氣和閏月是不是有關係了。」「好。」「每過一個朔望月,兩者的誤差就會累加變大30.44-29.53=0.907天。一直增加到兩者的誤差達到了一個朔望月的程度,這樣也就意味著節氣和月份不符合了,就需要增加一個閏月。」 老師說道。「但是增加了一個閏月後,不能剛好把誤差抵消,又產生了新的偏差。」學生追問到。「是的。我們可以把這個新的偏差記錄下來,並放到新一輪的誤差累積里。比如經過了32個朔望月,誤差累積到了32*0.9075=29.04天,那就增加了一個29天的閏月,這樣誤差就減少到29.04-29=0.04天了。接下來我們就繼續從這個0.04而不是從0開始累積,直到下一次累積到29天或30天。」「我來算算接下來」,學生說道,「再經過32個朔望月,誤差累積了29.04+0.04天,那麼如果再增加一個閏月29天,還遺留0.08天的誤差。這樣以此類推。」「是的」,老師說道,「這方法雖好,保證了節氣和月份的相對固定,可是不太好記,也沒有什麼規律。不過古人找到了一種更便捷的方法,並且給新的方法起了一個很簡潔的名字,叫做「無中置閏」法。」「哦,只要這四個字就能說明問題嗎?無中的「中」是什麼意思呢?」 學生問到。「中」指的是中氣。」 老師說道。「啊!我果然猜得沒錯,閏月和節氣有關!那「無中置閏」是什麼意思?」「簡單說,就是如果某個朔望月里不包含任何一個「中氣」,那麼這個月就應設置為閏月。」「就這麼簡單?為什麼呢?」「因為朔望月只有29.53天,比兩個中氣之間的間隔30.44天要短一點,所以中氣間隔天數總是比朔望月要慢一點。如果一開始中氣位於朔望月的中間,但是過一段時間就會發現,中氣越來越靠後,跑到了朔望月的後半部分,再過一段時間,中氣跑出了這朔望月,而上一個中氣還沒有來到這個朔望月的開頭,那麼這個朔望月里就沒有任何中氣。」

一般來說一個朔望月包含一個中氣,而兩個中氣之間的間隔30.44天。剛好有一個朔望月29.53天剛好夾在兩個中氣的30.44天之間,這樣一個朔望月里就沒有任何中氣「有可能出現這種情況嗎?」「是有可能的。因為一個朔望月29.53天比兩個中氣之間的間隔30.44天稍短,所以經過若干時間後,隨著中氣在朔望月里不斷後移,總是有一個朔望月29.53天剛好夾在兩個中氣的30.44天之間,這樣一個朔望月里就沒有任何中氣,如果出現了這種情況,我們就要在這個朔望月後放置一個同名的閏月。」「多麼精妙的設計!」「所以我們只要規定一個正常的月份必須有中氣,就像人也要有一口氣一樣,或者圍棋里的棋子也必須有一口氣才能活下去一樣,如果某個月沒有了中氣,就要被迫採取補救措施了。因為沒有中氣,這個月自己不能獨立存在,而是要依附於前一個有中氣的月份。它也沒有自己獨立的名字,也要依附於上一個有中氣的月份,如果前一個月份是五月,那這個閏月就叫做閏五月。這個月沒有中氣的月份,不是一個正常的月份,就是閏月。」

打叉的白棋沒有自己的「氣」,需藉助於其它白棋的氣才能活。就像閏月沒有自己的中氣,只有藉助於其它月份的中氣「我喜歡這個圍棋里棋子要有氣才能活的比喻。今年有沒有閏月呢?能舉一個例子嗎?」 學生問到。「今年2017年是雞年,春節來得比較早,1月28日,直覺上估計,這一年可能要設置閏月了,否則,下一年的春節繼續提前11天就到了1月17日,而這是很少見的,所以有可能需要設置閏月。」「嗯。那麼閏幾月呢?也就是哪個月沒有中氣呢?」「我們看一下這一年的日曆就知道是閏幾月」,老師說,「不過,我們可以猜猜看哪個月有可能出現閏月。」「好啊,我們一起猜一猜。」「閏月意味著這個月沒有中氣,如果某個月(第N個月)的最後一天剛好是中氣,那麼下個月(第N+1個月)就剛好錯過了一個中氣,那麼即使它是30天,也小於兩個中氣之間的30.44天的長度,換句話說第N+1月的月底還沒有到達下一個中氣,那麼這第N+1月就沒有中氣,要被設置為閏月,閏月的名稱是閏N月。」

2017丁酉年的中氣分布:前六個月每個月都有一個中氣,但中氣在一個月中的位置不斷後移,從正月的廿二一直後移到了六月的最後一天廿九,結果造成下一個月沒有中氣,需設置為閏月「同意!讓我看看日曆。2017丁酉年的中氣分布:前六個月每個月都有一個中氣,正月里有雨水,二月有春分,三月有穀雨... 但中氣在一個月中的位置不斷後移,雨水在正月的廿二一,春分推移到了廿三,穀雨推移到了廿四,而大暑則後移到了六月的最後一天廿九。這樣下一個月就沒有中氣了。」「對,接下來的這個月就剛好錯過了一個中氣,而再下一個中氣「處暑」要等到再下一個月的初二才到來,那麼農曆六月之後的這個月就完全沒有中氣,所以設置為閏六月!」「啊!明白了。這實際上和我們剛才計算經過多少個朔望月後誤差累積到一個朔望月是一個道理。中氣代表太陽曆,而朔望月代表陰曆,當二者的誤差不斷累積,達到了一個朔望月的時候,就恰好沒有中氣了,這時就需要額外增加一個閏月了。」 學生說道。「是的,不過古人很簡潔,只用四個字「無中置閏」來描述整個演算法。老師說到。」「嗯,真是絕妙!把閏月和節氣有機結合起來,節氣不僅僅是指導農業耕作,而且還能幫助制定曆法、設置閏月。」「那閏月應該在哪幾個月出現的概率比較大呢?直覺上我覺得閏月好像出現在天氣比較熱的時候。」 學生說道。「你為什麼有這種感覺呢?難道閏月也能感知寒冷?」 老師笑著問道。「嗯... 我想想,我想說的是,閏月出現的夏天的幾率好像比冬天大。我很少聽說過閏臘月和閏正月。另外,我的生日是陰曆五月,陽曆6月,如果某一年是閏五月,我就可以過3個生日了!我記得2009年我過了3個生日,因為那年是閏五月。可是按照我們剛才說的「無中置閏」法確定閏月,並沒有哪個月比其它月份更容易成為閏月的呀!」「是的,並沒有哪個月有優先權。我們先看一下到底哪個月出現閏月的幾率更大一下。」 老師搜索了一下,找到一個從公元1810年到2409年的 閏月分布情況。「還真讓你說對了,閏月出現在夏天的幾率最大,冬天的概率最小。出現閏月概率最大的是陰曆四月、五月和六月!」

公元1810年到2409年的 閏月頻次:陰曆的四月、五月和六月出現閏月的幾率最大,而十一月、十二月和正月出現閏月的幾率最小。「哦,是嗎?這是什麼原因呢?」「我們剛才一直假設兩個中氣之間的平均間隔是30.44天,也就是假設地球的軌道是圓形的,那麼地球公轉的速度是均勻的。但實際上,地球公轉的速度並不均勻,因此兩個中氣之間的時間也是變化的。我們的祖先觀察到了這一點。但是如何解釋這一現象卻要等到歐洲的開普勒,他發現地球的公轉軌道不是圓形而是橢圓形,太陽位於橢圓形的其中一個焦點上。」「哦,我想起來了。」「接著他推算出了開普勒第二定律,行星在相同的時間內掃過的面積相等。換句話說,行星的運行速度與距離太陽的位置有關,距離太陽越近,運行速度越快,這樣兩個中氣之間的時間就越短。而運行到遠日點時,速度最慢,所以兩個中氣之間的時間最長 。」

開普勒第二定律:北半球的夏至是遠日點,地球公轉速度最慢,相同時間內掃過的角度最小,所以要掃過兩個中氣之間的30度角度所花費的時間最長;反之冬至是近日點,地球公轉速度最快,相同時間掃過的角度最大、或者說掃過兩個中氣之間的30度所花費的時間最短。「這麼說,近日點是夏至嗎?」「不,正好相反,近日點是冬至。冬至夏至是對於北半球而言,對於南半球季節剛好相反,同樣是近日點,北半球是冬至,而南半球是夏至,所以距離太陽遠近不是產生季節的原因。季節和冷暖是因為地球自轉平面和公轉平面之間有23.5度的傾角,北半球夏至時太陽直射北回歸線附近,因此是夏天。反之,北半球冬至時正午時分的太陽傾角最小,所以是冬天。對北半球而言,剛好在冬至附近,地球運行到了近日點,地球離太陽最近14710萬千米。「遠日點」時地球離太陽15210萬千米,近日點和遠日點地日之間的距離僅僅相差500萬公里,只佔平均距離的3%,相差並不大。需要注意的是,真正的近日點在冬至後的十多天(一月初),而遠日點在夏至後的十多天(七月初)。為了簡便起見,我們說近日點在冬至附近,遠日點在夏至附近。」「好的。」「近日點附近,地球公轉速度最快,所以兩個中氣之間的時間最短;遠日點附近,地球運行速度最慢,所以兩個中氣之間的時間最長。這裡我找到一個從1810年到2409年的中氣平均間隔時間分布情況:冬至附近的中氣的平均間隔只有29.45天,甚至比一個朔望月的平均時間29.53天都短,所以一個朔望月能夠容納下一個中氣,幾乎不會出現無中氣的情況,所以那時出現閏月的概率極小。反之,在夏至附近,兩個中氣的平均間隔是31.5天,遠遠超過了一個朔望月的長度,所以出現閏月大大增加。」「看來中氣的間隔時間真的 和出現閏月有很大的關係,那這兩者是一種正相關的關係嗎?」「我們把這閏月的分布情況和中氣的平均間隔時間情況疊加到一幅圖上,就看得更清楚了。你看,它們的趨勢完全一致。夏至時中氣平均間隔最長,因此出現閏月的幾率最大;冬至附近中氣平均時間最短,所以出現閏月的幾率很小。」

公元1810年到2409年的 閏月頻次_中氣平均間隔時間「真漂亮!不過,我在想,我們這一通計算,閏月的計算背後的實質到底是在解決一個什麼問題?」 學生似乎還不滿足。「當地球繞太陽一周的時候,月亮繞了地球12周多一些,但不到13周,確切說是繞了365.2422/29.53=12.3685周,而這個數不是整數倍。但是每年只能是整數個月,要麼12個月,要麼13個月。這一類問題,如果真要歸納一下,可以把它抽象成一個數學問題:如果兩個數之間不是整數倍而是小數倍的關係,但是要求用整數來近似小數,該如何做?也就是通過組合12和13來逼近12.3685,在數學上被稱作實數的有理逼近。」 老師說。「那解決了這種類型的問題,是不是可以解決很多類似的問題呢?」「是的,這種用整數逼近小數的問題,是當今電路設計里一種普遍存在的問題,解決了這個數學問題,可以幫助我們設計精度更高的模擬數字轉換電路以及高頻時鐘電路。」「哦?是嗎?有這麼神奇?能詳細講講嗎。我對電路設計很感興趣。」未完,待續....參考文獻:陳之藩,《陳之藩散文 卷三 - 思與花開》 (文章:「背誦與記憶」),牛津大學出版社,2012《時間之問》(跨學科師生討論)系列目錄轉載本文請聯繫原作者獲取授權,同時請註明本文來自汪波科學網博客。鏈接地址:http://blog.sciencenet.cn/blog-813107-1050884.html
推薦閱讀:

「閏月年」真的不宜下葬嗎?
今年中秋比去年「晚」19天系閏月所致
什麼是「雙春兼閏月」?
閏月百科
農曆閏年閏月上下1000年表

TAG:時間 | 閏月 | 夏天 |