这个例子说明了如何估计太阳的8字曲线。8字曲线是代表太阳从其在天球上的平均位置相对于地球表面特定位置的角偏移变化的曲线。在这个例子中,8字曲线是相对于英国格林威治皇家天文台估算的。在估计之后,示例绘制出8字曲线。
这个示例使用的数据可以使用aeroDataPackage命令。
指定要计算8字曲线的日期。在本例中,这些日期范围为2014年的1月1日至12月31日(UTC时间中午)。
1:365 dv = datetime(2014年1日,12日,0,0);dvUTC = [dv。年的dv。月的dv。天的dv。小时的dv。分钟' dv.Second '];
使用行星天象函数来计算太阳的位置。在这个例子中:
tdbjuliandate函数计算动态重心时间(TDB)的儒略日期。
tdbjulianate函数需要地面时间(TT)。
从UTC计算地球时间(秒)需要协调世界时(UTC)和国际原子时间(TAI)的差值。
对于2014年,这个差值(dAT)是35秒。
地球时间(secTT)是dAT + 32.184秒。
地球时间(年、月、日、时、分、秒)包含在dvTT数组中。
dAT = 35;secTT = dAT + 32.184;dvTT = dv + secTT/86400;
利用阵列dvTT估计基于地面时间的动态重心时间的儒略日期:
jdTDB = tdbjuliandate ([dvTT。年的dvTT。月的dvTT。天的dvTT。小时的dvTT。分钟' dvTT.Second ']);
确定这些日期的太阳位置:
posSun = planetEphemeris (jdTDB,“地球”,“太阳”) * 1000;
使用UTC修改后的Julian日期计算UTC和UT1之间的差值deltaUT1。
mjdUTC = mjuliandate (dvUTC);dUT1 = deltaUT1 (mjdUTC);
使用UTC修改的儒略日期计算CIP的极移动和位移。
点= polarMotion (mjdUTC);dCIP = deltaCIP (mjdUTC);
指定用于估计8字曲线的位置的位势位置。在本例中,这个位置是格林威治皇家天文台(北纬51.48度,西经0.0015度,海拔0米)的纬度、经度和海拔。
LLAGreenwich = (51.48, -0.0015, 0);爱尔兰= eci2aer (posSun、dvUTC repmat (LLAGreenwich、长度(jdTDB), 1),...“deltaAT”, dAT *(长度(jdTDB), 1),“deltaUT1”dUT1,...“PolarMotion”点,“dCIP”dCIP);
在8字曲线上,你可以在8字曲线发生的年份内画出感兴趣的日子。这个示例图:
2014年每月的第一天。
夏至和冬至。
春分和秋分
获得2014年每月的第一天:
aerFirstMonth = aer (dvUTC (:, 3) = = 1:);
获得二至点和二分点(2014年分别是3/20、6/21、9/22、12/21)
solsticeEquinox =[爱尔兰(和(dvUTC (:, 2) = = 3, dvUTC(:, 3) = = 20), 1)爱尔兰(和(dvUTC (:, 2) = = 3, dvUTC (:, 3) = = 20), 2);...爱尔兰(以及(dvUTC (:, 2) = = 6, dvUTC(:, 3) = = 21), 1)爱尔兰(和(dvUTC (:, 2) = = 6, dvUTC (:, 3) = = 21), 2);...爱尔兰(以及(dvUTC (:, 2) = = 9, dvUTC(:, 3) = = 22), 1)爱尔兰(和(dvUTC (:, 2) = = 9, dvUTC (:, 3) = = 22), 2);...爱尔兰(以及(dvUTC (:, 2) = = 12, dvUTC(:, 3) = = 21), 1)爱尔兰(和(dvUTC (:, 2) = = 12, dvUTC (:, 3) = = 21), 2)];
图8字曲线。沿着8字曲线,画出全年的点,每个月的第一天,春分和二至点。
为firstDays{ii} = [num2str(ii)]' / 'num2str (1)];结束f =图;情节(aer(: 1)、爱尔兰(:,2),“。”,...solsticeEquinox (: 1), solsticeEquinox (:, 2),“ks”,...aerFirstMonth (: 1), aerFirstMonth (:, 2),“柯”,...“MarkerSize”8“MarkerFaceColor”,“k”);标题(格林威治天文台观测到的8字曲线);包含(的方位(度));ylabel (的海拔(度));轴([176185、10、70])文本(aerFirstMonth(: 1) +。1, aerFirstMonth (:, 2) + 1.2, firstDays,“颜色”,“k”,“HorizontalAlignment”,“左”);文本(solsticeEquinox(1,1) +。2, solsticeEquinox -1.5(1、2),“春分”,“颜色”,“k”,“HorizontalAlignment”,“左”);文本(solsticeEquinox (2, 1), solsticeEquinox (2, 2) + 2.5,“夏至”,“颜色”,“k”,“HorizontalAlignment”,“左”);文本(solsticeEquinox(3,1) +。1, solsticeEquinox (3 2) + 1.2,“秋分”,“颜色”,“k”,“HorizontalAlignment”,“左”);文本(solsticeEquinox(4,1) +。1, solsticeEquinox (4,2) -2.5,“冬至”,“颜色”,“k”,“HorizontalAlignment”,“左”);