以文本方式查看主题

-  中华农历论坛  (http://bbs.nongli.net/index.asp)
--  历法知识  (http://bbs.nongli.net/list.asp?boardid=2)
----  求助满月的算法  (http://bbs.nongli.net/dispbbs.asp?boardid=2&id=47215)

--  作者:row_column
--  发布时间:2011/6/20 15:42:00
--  求助满月的算法
前辈们好。
    求一个月相中满月的数学算法,只要求精确到日内就行。谢谢。
可发到我邮箱上 row_column@yahoo.cn
--  作者:浪-淘-沙
--  发布时间:2011/6/20 17:01:00
--  

《天文算法》第47章 月相

有详细说明。


--  作者:row_column
--  发布时间:2011/6/22 13:53:00
--  
天文算法,没看懂。望版主开导
--  作者:浪-淘-沙
--  发布时间:2011/6/22 15:48:00
--  

满月,就是太阳、月亮黄经差180度的日子。

 

那么你利用《天文算法》一书中的太阳、月亮的黄经公式来求解就行了。

 

公式是比较复杂的。因为它包含一些摄动项。

 

既然你想自己去求解,那么你总得把相关章节的书看透了,才能搞明白啊。

 

且这个求解方法,不是三言二语能说得清的。

 

月亮的运行时快时慢,所以没有一个简单的公式可以求出满月的日期。按《寿星天文历》软件的推算,满月的日期可以是农历的十四、十五、十六、十七、十八这五天。通常落在十五、十六、十七这三天。

所以若用平均的近似公式(平朔算法),计算得到的满月可能相差一天或二天。估计你也不能接受吧?


--  作者:row_column
--  发布时间:2011/6/25 17:17:00
--  
一天或二天?版主说说吧(平朔算法),总比没有强
--  作者:浪-淘-沙
--  发布时间:2011/6/25 18:24:00
--  

《天文算法》一书,网上有电子文档,你自己搜索一下啊。

比如:

http://www.doc88.com/p-30290416537.html

第47章。

 

 

如果你要平朔算法,

那么你只要在某个历元上加上平均的朔望月长度就是了。

比如JD 2455729.18(2011-6-16 4:13)是望日,则JD2455729.18+29.53058885=JD2455758.71也是望日,即2011年7月15日。

你可以一直往下推算。

但若出现误差2日,你还觉得这个平朔算法有意义吗?


--  作者:宜富
--  发布时间:2012/5/12 21:34:00
--  
如果要求不高,可以看【四千年气朔交食速算法】曾次亮著
--  作者:春光
--  发布时间:2012/5/16 8:12:00
--  
同上,另外可以参考《寿星天文历》的算法。
--  作者:今殺八方
--  发布时间:2020/9/19 22:12:00
--  
只要历元选择合适,就可以把误差始终控制在一天以内