复活节,重新审视

今天是复活节。为什么?复活节的日期是如何被确定的?

这是一个修改的博客从2013年

内容

复活节

复活节是基督教最重要的一个事件日历。它也是最难以捉摸的数学的。事实上,正规化的纪念复活节是几百年前历法改革的主要动机之一。

复活节是与犹太人的逾越节。非正式规则是复活节后第一个星期日春分之后第一次满月。但基督教的满月和equinox参与这个规则并不总是与相应的天文事件,,毕竟,取决于观察者的位置在地球上。

我用的修订复活节项目在我的博客从2013年与MATLAB实验。让今年的检查。

easter_2018 = datestr(复活节(2018))
easter_2018 = ' 01 - 4月- 2018 '

Knuth不

我的MATLAB®程序中提出的算法是基于由Donald Knuth的经典系列的第一卷,计算机编程的艺术。Knuth已经在几个出版物用它来说明不同的编程语言。任务经常被一种计算机程序设计课程的主题。

Knuth说算法由于那不勒斯天文学家阿洛伊修斯Lilius和德国耶稣数学家克里斯托弗Clavious 16世纪晚期,这是大多数西方教堂用来确定复活节的日期后1582年。

不同日期在3月22日和4月25日之间。

太阴周

地球绕太阳的轨道和月球绕地球的轨道并不同步。需要地球约365.2425天绕着太阳转。这被称为热带的一年。月球绕地球公转的轨道是复杂的,但平均轨道大约需要29.53天。这被称为一个朔望月。这个分数

年= 365.2425;月= 29.53;格式老鼠比率=年/月
比率= 6444/521

不是小整数之比。然而,在公元前5世纪,天文学家从雅典名叫Meton发现比例非常接近235/19。

格式比meton = 235/19
比率= 12.3685 meton = 12.3684

换句话说,19个热带接近235年阴历月。这太阴周是希腊的基础日历和确定复活节是算法的关键。

MATLAB程序

这是修改后的MATLAB程序。尝试其他的年。

你能发现改变了我的旧项目吗博客从2013年吗?

类型复活节
函数dn =复活节(y) %复活节复活节的日期。%复活节(y)是复活节的datenum年y。%的例子:% datestr(复活节(2020))% % Ref: Donald Knuth计算机编程的艺术,%的基本算法,页155 - 156。%版权2014 - 18克里夫硅藻土% 2014 - 18 MathWorks版权,Inc . %金数19太阴周。g = mod (y, 19) + 1;%世纪数字。c =地板(y / 100) + 1;%为闰年和月球的轨道修正。x =地板(3 * c / 4) - 12;地板(z = (8 * c + 5) / 25) - 5;%闰余。 e = mod(11*g+20+z-x,30); if (e==25 && g>11 || e==24), e = e + 1; end % Full moon. n = 44 - e; if n < 21, n = n + 30; end % Find a Sunday. d = floor(5*y/4) - x - 10; % Easter is a Sunday in March or April. d = n + 7 - mod(d+n,7); dn = datenum(y,3,32);

引用

[1]唐纳德·e·Knuth计算机编程的艺术,卷1:基本算法(第三版),页159 - 160,addison - wesley, 1997年,ISBN 0-201-89683-4,PDF可用

[2]维基百科,初级篇关于复活节。< http://en.wikipedia.org/wiki/Easter>

[3]维基百科,复活节的计算,详细计算。< http://en.wikipedia.org/wiki/Computus>

[4]维基百科,太阴周。< http://en.wikipedia.org/wiki/Metonic_cycle>




发表与MATLAB®R2018a

|

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。