MATLAB社区

MATLAB,社区及更多

飞跃天在火星上

2月29日是指日可待。它已经冬眠过去三年,在2月28日和3月1日之间的秘密巢穴依偎。但它只是再次出现,拉伸日历和刺激性不耐烦月。

三月来源于拉丁文名称马蒂乌斯mensis,或“月火星。”闰年和火星之间的这种联系让我思考:他们有闰年在火星上?毕竟,它不会太长,人类生活在火星之前。他们将不得不对这些事情担心。否则,他们可能忘了,今年二月份已有51天,他们将在邮局上一个银行假日结束。

你必须做的第一件事就是想想闰年为你做的。感觉的那种中世纪的,不是吗?像,这是2020年我们仍然额外24小时锤打到二月,因为......为什么?让我们来分析一下。闰年是在北京多待一天被插入的一年。如果你不这样做会发生什么不好的。不过什么?

实现的关键是我们有测量时间的两个“自然”的方式。两种不同的时钟。一个时钟是在这地球绕着太阳转率:一年。另一个时钟是所述地球围绕它的轴旋转速度:一天。这些时钟不知道对方的存在,因此没有理由对它们进行同步。没有物理迫使天合的整数倍为一年。但是对于我们人类的日历的目的,我们需要让他们结合在一起。因此,我们必须做一些纠错。

所以,现在让我们用MATLAB有点乐趣。

飞跃天在地球上

我们可以说,一年就是365天,但实际上,一年是365.2425天时(或多或少)。因此,一个365天的日历将堆放各地的人值得错误的,每四年。等待足够长的时间和错误也可能大相径庭。在旋转360年来,你的赛季将三个月滞后的日历。罗马人想通了这一点,并且增加了额外的一天每四年。

但即使是这种修正是不完美的。我们需要删除3天的飞跃每400年才能把事情吻合得相当好。所以,如果一年是100整除,不是闰年,除非它也被400整除。

maxYrs = 600;年= 1:maxYrs;%这是将突然出现实际的错误ERR = 0.2425 *岁;MODS = [〜MOD(年,4);- 〜MOD(年,100);〜MOD(年,400)];allMods =总和(MODS);%这是我们的错误的逼近cumErr =总和(allMods)/ maxYrs
cumErr = 0.2417
图(ERR)保持情节(ERR  -  cumsum(MODS(1,:)))情节(ERR  -  cumsum(总和(MODS(1:2,:))))情节(ERR  -  cumsum(总和(MODS(1:3,:))))保持xlabel(“时间(年)”)ylabel(“累积误差(天)”)ylim([ -  10 10])格传说({...“裸”...“闰日的年份时,国防部4 = 0”...“但不是在国防部每年100 = 0”...“除非国防部每年400 = 0”},...'位置''西南'

火星飞跃天

现在来谈谈火星?是否有同样的问题?是的,它确实。一个火星年由668.599火星天,或溶胶起来。因此,我们需要一些日历修正,如果我们要配合溶胶均匀成年。做到这一点的方法之一是让668升多年悠久的溶胶,除非这一年是2或5整除平均而言,你可以看到这个工程以668.6。这一规则,我们可以添加一个细化。如果今年也是整除1000,不适用的闰日。

maxYrs = 1500;年= 1:maxYrs;ERR = 0.599 *岁;MODS = [〜MOD(年,2);〜MOD(年,5);〜MOD(年,1000)];allMods =任何(MODS(1:2,:)  -  MODS(3,:));cumErr =总和(allMods)/ maxYrs
cumErr = 0.5993
图(ERR)保持情节(ERR  -  cumsum(MODS(1,:)))情节(ERR  -  cumsum(任何(MODS(1:2,:))))情节(ERR  -  cumsum(任何(MODS(1:2,:)))+ cumsum(MODS(3,:)))保持xlabel(“时间(年)”)ylabel(“累积误差(天)”)ylim(10 * [ -  1 1])格传说({...“裸”...“闰日时年国防部2 = 0”...“此外,当年国防部5 = 0”...“除了当年度国防部1000 = 0”},...'位置''西南'

闰日玩转素数

现在,你看到这整个闰日的过程简直是在用有理数来近似由宇宙决定给我们的怪异十进制常量的锻炼。没有什么神奇的它,它可以在许多不同的方式进行管理。因此,即使上面显示的火星闰年方案似乎坚实,我想提出一个更优雅的解决方案。并以“优雅”我的意思是,它实际上是更复杂,但涉及到更多的素数。

这里有云(啊哈):一个火星年是668溶胶长,除非它是由2,7,17,或167,在这种情况下,50日和3月1日之间增加一个闰日被整除。由于3月是行星命名的一个月,我觉得我们其实应该把这个闰日三月零。

maxYrs = 1500;年= 1:maxYrs;ERR = 0.599 *岁;MODS = [〜MOD(年,2);〜MOD(年,7);〜MOD(岁,17);〜MOD(年,167)];allMods =任何(MODS);cumErr =总和(allMods)/ maxYrs
cumErr = 0.5987
图(ERR)保持情节(ERR  -  cumsum(MODS(1,:)))情节(ERR  -  cumsum(任何(MODS(1:2,:))))情节(ERR  -  cumsum(任何(MODS(1:3,:))))图(ERR  -  cumsum(任何(MODS(1:4,:))))保持xlabel(“时间(年)”)ylabel(“累积误差(天)”)ylim(10 * [ -  1 1])格传说({...“裸”...“闰日时年国防部2 = 0”...“此外,当年7国防部= 0”...“此外,当年度国防部17 = 0”...“此外,当国防部每年167 = 0”},...'位置''西南'

那是美丽还是什么?

只是为了好玩,让我们看看在对数标度的不断增长的错误。

集(GCA,'的XScale'“日志”

我会说,现在有火星上没有闰年关闭,因为没有人。闰年是进展,是因为我们需要一个整数天数放入一个日历年度人类文化的构建。只要人类开始生活在火星上,他们将带来闰年他们,橙汁,瑜伽垫,和自拍杆一起。而觉得好笑,因为它现在听起来,所有的问题在这里讨论将此事给他们。我祝他们好运。快乐闰年!

|

注释

要发表评论,请点击这里在您的帐户MathWorks的签署或创建一个新的。