均时差
由于地球轨道的偏心率和地轴相对于轨道平面的倾斜,一年之中太阳的视运动在不断地改变. 这就引发了由日晷(视太阳时)测量的时间相对于更精准的时间计量(如由恒星的视自转决定的时间,即恒星时)之间的差异. 这一差异称为均时差(Equation of Time).
SiderealTime 使用 MixedUnit 返回混合单位量的恒星时值.
In[1]:=

SiderealTime[]
Out[1]=

In[2]:=

SiderealTime[];
QuantityUnit[%]
Out[2]=

恒星时实际上是一个角度,所以可以被转换成其他角度单位.
In[3]:=

UnitConvert[SiderealTime[], "AngularDegrees"]
Out[3]=

均时差由太阳的运动决定,由 SunPosition 给出. 在 GMT 正午计算每星期的值.
In[4]:=

dates = DateRange[
DateObject[{2015, 1, 1}, TimeObject[{12, 0}, TimeZone -> 0],
TimeZone -> 0.`],
DateObject[{2015, 12, 31}, TimeObject[{12, 0}, TimeZone -> 0],
TimeZone -> 0.`], 7];
In[5]:=

sunpos = SunPosition[GeoPosition[{0, 0}], dates,
CelestialSystem -> "Equatorial"]
Out[5]=

使用 SiderealTime 计算同一周日期在格林威治子午线处的赤经.
In[6]:=

stime = SiderealTime[GeoPosition[{0, 0}], dates]
Out[6]=

最后,找出全年中太阳赤经和正午恒星时之间的差异,作为均时差. 将结果以分钟为单位表示出来.
In[7]:=

equationoftime =
UnitConvert[(TimeSeriesMap[First, sunpos] - stime),
"MinutesOfRightAscension"]
Out[7]=

均时差的绝对值可以大于 15 分钟.
In[8]:=

MinMax[equationoftime]
Out[8]=

显示完整的 Wolfram 语言输入
Out[9]=
