复活节和四月傻瓜

2018年、2029年和2040年之间有什么共同点?他们是唯一年复活节在21世纪发生在愚人节。

内容

傻瓜遇见了兔子

y = 1:10 0 april_first = datenum (y + 2000 4 1);δ(y) =复活节(y + 2000) - april_first;结束年= 2000 +找到(δ= = 0)
年= 2018 2029 2040

21世纪

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

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

复活节

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

计算复活节日期出现在唐Knuth的经典计算机编程的艺术也因此成为一个经常锻炼在编程课程。

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

复活节函数

这是复活节函数MATLAB实验。它也可以在这里

%目录. . / exm类型复活节
函数dn =复活节(y) %复活节复活节的日期。%复活节(y)是复活节的datenum年y。%裁判:Donald Knuth计算机编程的艺术,%的基本算法,页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;%闰余。 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账户登录或创建一个新的。