< A GitHub Badge for the…<前一 Rayner,Bae Systems和Cody>接下来> 蠕动计算 张贴了Ned排水沟那2019年12月6日 1意见(过去30天)| 0.喜欢| 5个评论 Crepusculus快乐!没听说过Crepusculus?我待会再讲。相反,让我以一个有趣的事实开始:一年中最短的一天是12月21日。 什么?你已经知道这个有趣的事实了?好吧,自作聪明的人,接下来的问题是:最早的日落是什么时候?事实证明,它来得比最短的一天早得多。 听起来很疯狂吗?但是我会向您证明,由呼吁提供可爱的档案汇率提交日出经过FrançoisBeauducel.。正如François所说,它“计算地球上任何地理位置的日出和日落时期。”他在工作巴黎环球体格研究所,所以我很确定他知道他在这里做了什么。 看这个。在这里,我在马萨诸塞州的纳尼克。 拉特= 42.3;lon = -71.3;alt = 0;Tzone = -5; 我要用我们可爱的DATETIME创造一年的日期。我要在7月开始我的日历,因为我想要12月在中间。 d = DateTime(2019,7,1:365); 看看我在那里做了什么?我从2019年7月1日至2019年7月1日起创建了日期的传染媒介!DateTime处理“愚蠢”的部分2019年7月2009年7月,所以我会把它转换为2020年1月16日。“这是一个非常方便的方式来制作日期向量。 日出功能期望老学校数据,但这很容易管理。 [srise, sset] =日出(纬度、经度、alt、tzone datenum (d)); 谢谢弗朗索瓦!现在我们只需计算小时并绘图。瞧! Srisehour = 24 *(SRISE - 地板(SRISE));ssetHour = 24*(sset - floor(sset)); / /涨停时间绘图(D,Srisehour,D,Ssethour,“线宽”3)设置(GCA,...'ylim'24 [0],...“YTick”,[0 6 12 18 24],...'yticklabel',{'午夜'那'上午6:00'那“中午”那'下午6:00'那'午夜'}) 标题(“日出日落”)包含('日期')ylabel('一天的时间')({传奇“日出”那“日落”},“位置”那“最佳”)设置(GCA,“YDir”那'逆转'网格)在盒子在 你可以看到这两条曲线有点偏移。最早的日落前进,但最晚的日出后退,在两者之间留下最短的一天。 在我住的地方,今年最早的日落时间是12月10日,离冬至还有整整11天。 [~,第九]= min (ssetHour);d.Format ='dd mmm yyyy hh:mm:ss';earliestSunset = datetime (sset (ix),'vectormfrom'那“datenum”);传奇(“关闭”)线(d (ix) ssetHour (ix),...'标记'那“o”那“颜色”,[0.85 0.325 0.098],...“线宽”3,“MarkerSize”,18)XLIM([DateTime(2019,7,1)Datetime(2020,7,1)])Ylim([12.0 24.0])文本(D(IX),SseThour(IX),...sprintf ('Crepusculus!\ n%s \ n \ n \ n',string(sexeriastsunset)),...“HorizontalAlignment”那“中心”) 我喜欢称这个日期克雷苏斯,以纪念“乳酸”一词,意思是“暮光之城”。我给它一个花哨的名字,因为它听起来很酷,而且值得庆祝!在此之后,太阳将在每天稍后设置,直到6月。这几乎和斯特利斯本身一样好,特别是对于我们那些不经常看到太阳升起的人。并且由于它发生在溶剂前面,它给了我一个非常需要的头部开始透镜狂欢。 但这对每个人都不一样!最早的日落随纬度而变化。多少钱?让我们看!我们将穿越整个纬度圈出一个图。 latitudeList = 1:0.2:65;earliestSunset = NaT(大小(latitudeList)); 这纳函数(NaT代表“Not a Time”)是分配DATETIMEs向量的一种很好的速记方式。它的功能就像1或0,只是用于约会。 为了i = 1:length(latitudeList) lat = latitudeList(i);[srise, sset] =日出(纬度、经度、alt、tzone datenum (d));ssetHour = 24*(sset - floor(sset)); / /涨停时间[~,第九]= min (ssetHour);earliestSunset (i) = d (ix);结尾绘图(LatitudeList,早期性器,'。')网格Xlabel(的纬度(度))ylabel(“最早的日落日期”) 使用差函数找到每个步骤更改的前沿。 XLIM([25 50])IX = Find(Diff(Direnum(SementIestiStunset))+ 1;抓住在情节(latitudeList (ix) earliestSunset (ix),'ro') 抓住离开 既然表格很好,我们来做一个表格从纬度到现在的地图。 latTable =表(latitudeList (ix)”,earliestSunset (ix) ',...“VariableNames”,{'纬度'那“EarliestSunset”}) latTable =45×2表LatitudeSiveStunstsunstunsetsunset ________ ______________ 1.6 05-11-2019 2.2 06-11-2019 2.8 07-11-2019 3.4 08-11-2019 4.2 09-11-2019 4.8 10-11-2019 5.6 11-11-2011-2019 7 13-ov-2019 7.8 14-ov-2019 8.6 15-ov-2019 9.4 16-ov-2019 10.2 17-ov-2019 11.2 18-ov-2019 12-2019 2019年11月19日-13-2019⋮ 现在为大结束。让我们使用地球格林在美国的48个州涂上乳糜粼粼的最小值。 Ixlow =查找(lattable.latitude> 25,1);ixhigh = find(lattable.rattitude> 48,1);lons = -130:5:-60;为了ix = ixlow:ixhigh lat = lattable.latitude(ix);dat = lattable.earliestsunset(ix);Geoplot(Lat * led *(尺寸(lons)),lons,“颜色”那'红色的');抓住在dat。格式=“嗯d ';文本(lat,马克斯(朗),““+字符串(dat),“字形大小”,9)结尾抓住离开地球摩尔([25 50],[ - 130-60]) 现在让我们对欧洲做同样的事情。 ixLow =找到(latTable。纬度> 35岁,1);ixHigh =找到(latTable。纬度> 60岁,1);朗= 20:5:40;为了ix = ixlow:ixhigh lat = lattable.latitude(ix);dat = lattable.earliestsunset(ix);Geoplot(Lat * led *(尺寸(lons)),lons,“颜色”那'红色的');抓住在dat。格式=“嗯d ';文本(lat,马克斯(朗),““+字符串(dat),“字形大小”,9)结尾抓住离开geolimits([65],[0] 30日) 如果你生活在这些地图所包含的地区,你现在知道什么时候庆祝Crepusculus。如果没有,就用我的代码做一些快速的黄昏计算。 无论你如何庆祝冬至,我希望你过得愉快! | 你现在正在关注这篇博文 您将在您的活动提要。 您可以收到电子邮件,具体取决于您的电子邮件通知偏好。 类别: 文件交换 < A GitHub Badge for the…<前一 Rayner,Bae Systems和Cody>接下来> 也可以看看 中午是什么时候? 博客 冬天的一天有多长? 博客 黄昏等时:这里和那里的日出 博客 日出:日出和日落时代 Day2serial_360day 日出/日落 评论 要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。