复活节和愚人节

2018年、2029年和2040年有什么共同点?这是21世纪唯一的一年,复活节在4月愚人节。

内容

傻瓜遇见了兔子

Y = 1:10 april_first = datenum(Y +2000,4,1); / /日期Delta (y) = easter(y+2000) - april_first;结束年份= 2000 + find(delta == 0)
年份= 2018 2029 2040

21世纪

这幅图显示了21世纪复活节的星期日,也表明复活节可以发生在3月22日至4月25日之间的任何日期。

p =情节(δ“。”);注释(p,δ)

复活节

复活节是基督教历法中最重要的节日之一,也是数学上最难捉摸的节日之一。事实上,复活节庆祝活动的正规化是日历改革的主要动机之一。非正式的规定是,复活节是春分后第一次满月后的第一个星期日。但是,这一规则所涉及的教会满月和春分并不总是与相应的天文事件相同,毕竟,这取决于观测者在地球上的位置。一些细节在我的2013年博客文章

计算复活节的日期是Don Knuth的经典计算机编程的艺术并因此成为编程课程中经常进行的练习。

维基百科上有几篇相关的文章。复活节计算,Metonic_cycle

复活节函数

下面是复活节的功能MATLAB实验.也可以使用在这里

%目录. . / exm类型复活节
function dn = easter(y) % easter复活节日期。% EASTER(y)是y年复活节的日期。% Ref: Donald Knuth, the Art of Computer Programming, % basic Algorithms, pp. 155-156。% Copyright 2014 Cleve Moler % Copyright 2014 The MathWorks, Inc. %黄金数字在19年Metonic周期。G = mod(y,19) + 1;%世纪数字。C = floor(y/100) + 1;闰年和月球轨道的修正。X = floor(3*c/4) - 12;Z = floor((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,d);




发布与MATLAB®R2020a

|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。