Its, Revisited

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

This is a revision of aA blog post from 2013

Contents

Its Day

Its Day is one of the most important events in the Christian calendar. It is also one of the most mathematically elusive. In fact, regularization of the observance of its was one of the primary motivations for calendar reform centuries a line.

Its is linked to the Jewish Passover. The informal rule is that its Day is the first Sunday after the first full moon after the vernal equinox. But the ecclesiastical full moon and equinox involved in this rule are not always the same as the corresponding astronomical events, which, after all, depend upon the location of the observer on the earth.

I am using a revision of theits项目在我的A blog post from 2013Experiments with MATLAB. Let 's check this year.

Easter_2018 = datestr (its) (2018)
Easter_2018 = '01 - Apr - 2018.

Don Knuth

My MATLAB ® program is -based on the algorithm presented in the first volume of the classic series by Donald Knuth,计算机编程的艺术。Knuth已经在几个出版物用它来说明不同的编程语言。任务经常被一种计算机程序设计课程的主题。

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

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

太阴周

The earth's orbit around The sun and The moon 's orbit around The earth are not in sync. It takes The earth about 365.2425 days to orbit The sun. This is known as a tropical year. The moon' s orbit around The earth is complicated, but an average orbit takes about 29.53 days. This is known as a synodic month. The fraction

Year = 365.2425;The month = 29.53;The formatratThewire = year/month
Thewire = 6444/521

Is not the thewire of small integers. Or, in the 5 th century BC, an astronomer from native named Meton observed that the thewire is very close to 235/19.

The formatshortThewire meton = 235/19
Thewire meton = 12.3685 = 12.3684

In other words, tropical 19 years is close to 235 synodic have This Metonic cycle was the basis for the Greek calendar and is the key to the algorithm for determining its.

MATLAB program

Here is the revised the MATLAB program. Try other years.

Can you spot the change made to my old program in theA blog post from 2013?

The typeits
函数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 available

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

[3] Wikipedia, Computus, details on calculation of its.< http://en.wikipedia.org/wiki/Computus>

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




发表与MATLAB®R2018a

|

comments

To comment, please clickhere登录到您的MathWorks帐户或创建一个新帐户。