中华农历论坛知识讨论区历法知识 → 读了张培瑜老先生的文章《中历及二十四节气时刻的计算》之感想


  共有22490人关注过本帖树形打印

主题:读了张培瑜老先生的文章《中历及二十四节气时刻的计算》之感想

帅哥哟,离线,有人找我吗?
xjw01
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蝙蝠侠 帖子:866 积分:3804 威望:3 精华:20 注册:2008/3/20 22:14:00
读了张培瑜老先生的文章《中历及二十四节气时刻的计算》之感想  发帖心情 Post By:2009/1/8 22:53:00

读了张培瑜老先生的文章《中历及二十四节气时刻的计算》颇为感慨,老一辈为了农历计算做了许多工作,再一次感受当年人工计算艰辛。

时代变了!短短几年时间,计算机如此普及,编写《寿星万年历》时,用手上的三角函数计算器计算三角函数值不超过10次。

从文中可以知道,前辈们在1994年以前,还没能真正用上计算机,真是痛苦。他们的手工计算能力肯字是N强。

不过,他们的这些算法,在现在看来,的确很不理想。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  2楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1447 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2009/1/8 23:42:00

以下是引用xjw01在2009-1-8 22:53:00的发言:

读了张培瑜老先生的文章《中历及二十四节气时刻的计算》颇为感慨,老一辈为了农历计算做了许多工作,再一次感受当年人工计算艰辛。

时代变了!短短几年时间,计算机如此普及,编写《寿星万年历》时,用手上的三角函数计算器计算三角函数值不超过10次。

从文中可以知道,前辈们在1994年以前,还没能真正用上计算机,真是痛苦。他们的手工计算能力肯字是N强。

不过,他们的这些算法,在现在看来,的确很不理想。

他们的算法不够理想,是指他们的算法不够精确,还是不够简单呢?


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
浪-淘-沙
  3楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:2068 积分:4263 威望:5 精华:4 注册:2008/11/13 21:03:00
  发帖心情 Post By:2009/1/9 8:56:00

以下是引用秦汉昌在2009-1-8 23:42:00的发言:

 

他们的算法不够理想,是指他们的算法不够精确,还是不够简单呢?

算法是简单的,至少那篇文章中给的是粗算.文中也只给了太阳黄经的粗算公式.所以张先生说误差(近二三百年内)在10分钟之内.

十分钟的误差对于日常生活来说无关紧要的,但对于计算天文日历,似乎不够精确了.比如算出来的节气时刻为23:59,若实际精确时刻为0:01,仅仅二分钟误差,日期就不在同一天了.

也许当年的计算机不够普及(文章是94年1月刊出的,那么最晚也是93年写的了),大多数人只好用计算器来辅助计算数据了.

不过,张先生是紫金山天文台的,应当有较高配置的计算机了.(个人电脑93年时586已经流行了。大型计算机在天文台也应当有的,不大可能用手工(计算器)来排历谱的.)

扯远了。回到秦汉昌(这个名字倒有点像笔名)朋友以前提的用黄帝纪日取代儒略日来计算天体物理这个话题来。

我看到的计算太阳月亮位置的公式都与儒略日有关,比如(引用张培瑜先生的计算公式)

Lo=(1006908.04+129602768.13T+1.089T2)/3600

DL1=((6910.057″-17.24T)×sinM+72.338″×sin(2M))/3600

DL2=(20.49+17.2sinQ)/3600

L= Lo+ DL1+ DL2

其中:T=(JD2415020)/36525

      M=357.528°+35999.05°E

      Q=125.045°-1934.136E

      E=(JD2451545)/36525.

JD——所要求太阳黄经的日期时刻对应的儒略日及小数。

L——太阳黄经

Lo——太阳平黄经

DL1——中心差修正

DL2——光行差、章动修正

如果秦兄直接把黄帝纪日转化为儒略日,那么公式中的系数可以直接套用。(但这样做已经失去了黄帝纪日本身的意义)。公式中2415020,2451545都是比较特殊的日子(儒略日),一个是1899年12月31日12点。一个是2000年1月1日12点。

如果要利用黄帝纪日,那么秦兄要自己推导出一个公式系数,才能避开儒略日这个关键字。

但愿秦兄有耐心去做这件事,等着你的黄帝纪日版的万年历早日推出。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lxm0521
  4楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:50 积分:1279 威望:0 精华:0 注册:2008/11/4 18:17:00
  发帖心情 Post By:2009/1/9 18:31:00

扯远了。回到秦汉昌(这个名字倒有点像笔名)朋友以前提的用黄帝纪日取代儒略日来计算天体物理这个话题来。

如果要利用黄帝纪日,那么秦兄要自己推导出一个公式系数,才能避开儒略日这个关键字。

但愿秦兄有耐心去做这件事,等着你的黄帝纪日版的万年历早日推出。

    个人觉得黄帝纪日似乎没有必要:儒略日是指由公元前4713年1月1日(公历公元前4713年11月24日),协调世界时中午12时开始所经过的天数,多为天文学家采用,用以作为天文学的单一历法,把不同历法的年表统一起来。
  儒略周期为7980年,是因28、19、15的最小公倍数为28×19×15=7980。
  28年为一太阳周期,经过一太阳周期,则星期的日序与月的日序会重复。
  19年为一太阴周期,或称默冬章,因235朔望月=19回归年,经过一太阴周期则阴历月年的日序重复。
  15年为一小纪,此为罗马皇帝君士坦丁所颁,每15年评定财产价值以供课税,成为古罗马用的一个纪元单位。
  故以7980年为一儒略周期,而所选的起点公元前4713年,则是这三个循环周期同时开始的最近年份。

  儒略日则只是一种特殊的历法,不存在谁来替代的问题,如果用黄帝纪日,那么他和儒略日一定有某种换算关系,那么黄帝纪日和儒略日就成了一回事了,改为黄帝纪日来联系各大历法仅是添了点麻烦而已。

以上仅仅是个人观点!


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
浪-淘-沙
  5楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:2068 积分:4263 威望:5 精华:4 注册:2008/11/13 21:03:00
  发帖心情 Post By:2009/1/9 21:34:00

以下是引用lxm0521在2009-1-9 18:31:00的发言:

    个人觉得黄帝纪日似乎没有必要:儒略日是指由公元前4713年1月1日(公历公元前4713年11月24日),协调世界时中午12时开始所经过的天数,多为天文学家采用,用以作为天文学的单一历法,把不同历法的年表统一起来。
  儒略周期为7980年,是因28、19、15的最小公倍数为28×19×15=7980。
  28年为一太阳周期,经过一太阳周期,则星期的日序与月的日序会重复。
  19年为一太阴周期,或称默冬章,因235朔望月=19回归年,经过一太阴周期则阴历月年的日序重复。
  15年为一小纪,此为罗马皇帝君士坦丁所颁,每15年评定财产价值以供课税,成为古罗马用的一个纪元单位。
  故以7980年为一儒略周期,而所选的起点公元前4713年,则是这三个循环周期同时开始的最近年份。

  儒略日则只是一种特殊的历法,不存在谁来替代的问题,如果用黄帝纪日,那么他和儒略日一定有某种换算关系,那么黄帝纪日和儒略日就成了一回事了,改为黄帝纪日来联系各大历法仅是添了点麻烦而已。

以上仅仅是个人观点!

哈哈,你没看过"秦汉昌"兄在前段时间发的帖子.所以你不知道我为什么要提"黄帝纪日".

这个只有秦兄才会明白的.

你看他都已经开始把"年月日时分秒"都用天干地支来表示了.比古人更前进了一步.似乎古人没有用干支来表示时辰以下的记时单位的.

黄帝纪日是我帮他一块想出来的.他反对用"儒略日"来计算天文数据.那我就请他换个名字,比如黄帝纪日(从黄帝纪年引申而来.图片点击可在新窗口打开查看)

至于用黄帝纪日如何来求解天体力学方程,那就靠他自己的努力了.

反正现成的天体力学方程都可以找到公式,甚至都已经有人把答案解出来了.我们只要套用一下,就可以进行天文历算了.


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  6楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1447 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2009/1/10 1:24:00

   兄弟,可以给我介绍一些系统的讲述天文历算公式的书吗,感觉找资料有点困难,我需要了解更多的更系统的天文算法知识。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lxm0521
  7楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:50 积分:1279 威望:0 精华:0 注册:2008/11/4 18:17:00
  发帖心情 Post By:2009/1/10 10:04:00

以下是引用浪-淘-沙在2009-1-9 21:34:00的发言:

哈哈,你没看过"秦汉昌"兄在前段时间发的帖子.所以你不知道我为什么要提"黄帝纪日".

这个只有秦兄才会明白的.

你看他都已经开始把"年月日时分秒"都用天干地支来表示了.比古人更前进了一步.似乎古人没有用干支来表示时辰以下的记时单位的.

黄帝纪日是我帮他一块想出来的.他反对用"儒略日"来计算天文数据.那我就请他换个名字,比如黄帝纪日(从黄帝纪年引申而来.图片点击可在新窗口打开查看)

至于用黄帝纪日如何来求解天体力学方程,那就靠他自己的努力了.

反正现成的天体力学方程都可以找到公式,甚至都已经有人把答案解出来了.我们只要套用一下,就可以进行天文历算了.

     哈哈,谢谢你,可能是本人想当然了,能否把秦的那篇帖子地址告诉我呢?谢谢了,不过个人觉得你那个黄帝纪日是不是和儒略日仅仅是起点不同呢?


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
浪-淘-沙
  8楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:2068 积分:4263 威望:5 精华:4 注册:2008/11/13 21:03:00
  发帖心情 Post By:2009/1/10 12:04:00

以下是引用秦汉昌在2009-1-10 1:24:00的发言:

   兄弟,可以给我介绍一些系统的讲述天文历算公式的书吗,感觉找资料有点困难,我需要了解更多的更系统的天文算法知识。

许剑伟兄翻译的《天文算法》,我这里有个较完整版。网上的下载地址我忘了。你若需要,我发EMAIL给你。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
浪-淘-沙
  9楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:2068 积分:4263 威望:5 精华:4 注册:2008/11/13 21:03:00
  发帖心情 Post By:2009/1/10 12:14:00

以下是引用lxm0521在2009-1-10 10:04:00的发言:

 

     哈哈,谢谢你,可能是本人想当然了,能否把秦的那篇帖子地址告诉我呢?谢谢了,不过个人觉得你那个黄帝纪日是不是和儒略日仅仅是起点不同呢?

你到论坛里找“秦汉昌”的帖子就是了。

第一页里就有好多他的关于纪日表示法模板。http://bbs.nongli.com/dispbbs.asp?boardID=2&ID=16615&page=1

以下是引用浪-淘-沙在2008-12-24 11:11:00的发言:
以下是引用秦汉昌在2008-12-24 10:11:00的发言:

  我们得一步一步的来,从现实考虑,既不能因为洋文化强势而放弃我华夏文化的在传承方面的努力,也不能在洋文化强势的情况下夜郞自大。在洋文化强势时,我们要韬光养晦,为未来复兴打好基础,而不能坐以待毙,盲从国外。比如,在历法方面,我们的夏历不利于现代的某些交流,但我们不能因此而用西历,以西历为参照(如果这样,即我们华夏强大了,我们的厬历还是没有发展完善,一样的不被人重视,不要仅仅以经济的强大来看待文化的传承。其实,我也没有反对在我们的日历上添加西历的日期,关键是,我们要把它倒过来,我们在电脑计算的时候,日期值就是我们夏历的日期值,按照我们夏历完整的系统来确定我们的日期,通过我们夏历天文理论和应用系统来生存西历,西历仅仅是为了某些交汉的需要的一个附带品,不能成为一个必备要件。像我们现在,没有西历的参照,就很难制作万年历,各种天文参数都以西历为准,再进行换算,这不是正路。

我没具体去编过历书.但我从这个论坛里仔细看许兄编的万年历,其实可以说已经脱离公历的日期了.

只要给定了某一天的各大天体的位置,再考虑各大天体的运行规律(所谓的天体力学),以后的天体位置的计算其实不用公历的.只用"日"就行了.(许兄的软件中用儒略日)

对于日的定义,我们的农历与西洋的公历基本是一致的.

比如今天是儒略日数 2454825 ,你可以定义成黄帝纪日(古)3000000.编程时这二个都可以当常数.以后的日子与之相加就行了.那么你可以定义今天是黄帝纪日(今)0天(即3000000+0),那么明天就是黄帝纪日(今)1天,以后类推就行了.

你算出今天之后的十几个朔的时刻,二十四节气的时刻,你就可以排出一部历书了(按我们的历法,冬至所在月为十一月).与公历已经不相关了.至于正月初一是公历什么日子,你在旁边注一下就是行了.

所以你用西历还是中历,都无所谓的.因为天象观测只用日,不一定用年月的.你定义成黄帝纪日就行了.(就算我们不知道黄帝是哪一年开始,我们可以假设一个日期就行了.比如我假设的3,000,000日,实际按4706年来算还不到200万呢.为了撑面子,我算它300万天.图片点击可在新窗口打开查看)

有了黄帝纪日就可以排历书了.西方用儒略日数来排的.这一点大家都是一致的.所以在实际计算时,不用担心什么公历西历的.你编程时也可以跳过公历几月几日的.


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  10楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1447 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2009/1/10 22:49:00

以下是引用浪-淘-沙在2009-1-10 12:04:00的发言:
以下是引用秦汉昌在2009-1-10 1:24:00的发言:

   兄弟,可以给我介绍一些系统的讲述天文历算公式的书吗,感觉找资料有点困难,我需要了解更多的更系统的天文算法知识。

许剑伟兄翻译的《天文算法》,我这里有个较完整版。网上的下载地址我忘了。你若需要,我发EMAIL给你。

麻烦传给我,多谢兄弟帮助,我的邮箱是:992736116@qq.com


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
总数 11 1 2 下一页

返回版面帖子列表

读了张培瑜老先生的文章《中历及二十四节气时刻的计算》之感想








签名