克利夫角:克利夫Moler的数学和计算

科学计算,数学和更多

复活节和愚人节

2018年、2029年和2040年有什么共同之处?在21世纪,只有在愚人节那天才会有复活节。

内容

傻瓜遇见了兔子

为了april_first = datenum(Y +2000,4,1);Delta (y) = easter(y+2000) - april_first;结尾年= 2000 +查找(Delta == 0)
年= 2018 2029 2040

21世纪

这幅图显示了21世纪的愚人节复活节,也显示了复活节可能发生在3月22日和4月25日之间的任何一天。

p = plot(delta,'。');注释(p,delta)

复活节

复活节是基督教日历中最重要的事件之一,它也是数学上难以捉摸的最重要的事件之一。事实上,遵守复活节的正规化是日历改革的主要动机之一。非正式统治是复活节日是第一个满月后的第一个星期天之后的春分。但是,在这条规则中涉及的教会满月和昼夜平均值与相应的天文事件并不总是相同的,毕竟取决于地球上观察者的位置。有些细节在我的2013年博客帖子

计算复活节的日期是Don Knuth的经典之作计算机编程的艺术因此,在编程课程中经常锻炼。

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

复活节函数

这是复活节的功能MATLAB实验.它也是可用的在这里

%AddPath ../exm.类型复活节
功能Dn =复活节(Y)%复活节日期。%复活节(y)是y年复活节的数据。%ref:Donald Knuth,计算机编程艺术,%基础算法,PP。155-156。%版权所有2014克利尔%版权所有2014年MathWorks,Inc.%金色的金色数字在19年元素周期。g = mod(y,19)+ 1;%世纪的号码。C =地板(Y / 100)+ 1;闰年和月亮轨道的百分比矫正。X =楼层(3 * C / 4) -  12;Z =地板((8 * C + 5)/ 25) -  5; % Epact. 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帐户或创建新的。