Hello 天文

表格每天只记一次,晚上那个时刻的数从哪来?

用前后几条记录,补出附近没有直接列出的时刻。

通用算法与数值计算

像查看每天一张的记录单,星历表也可能每天只给一个数。这里是书里连续三天的火星—地球距离:如果你要查前一天晚上,表中没有那一行,就需要利用附近的变化来估计。

打开互动课程 →

先猜一下

星历表没写晚上的那一刻,直接照抄次日午夜的数一定准确吗?

查看答案与解释

不一定,中间也在变化 — 相邻时刻的数值可能不同;需要根据附近数据的变化估计,并检查是否适合插值。

再把体验和科学连起来

选三个等间隔的点

使用书中的火星—地球距离:1992 年 11 月 7、8、9 日 0 时 TD。中心取 8 日。

y₁ = 0.884226,y₂ = 0.877366,y₃ = 0.870531 AU

先看每天变化多少

前一天和后一天的变化略有差别,这告诉我们曲线并不完全笔直。

a = y₂ − y₁;b = y₃ − y₂

加上一点弯曲

二阶差分 c = b − a 描述变化速度的变化。三点插值相当于拟合一小段抛物线。

c = b − a = 0.000025 AU

在附近读出结果

n = 0 是中心时刻;n 为负表示更早。拖动滑块读取中间的距离。

y = y₂ + n(a + b + nc)/2

把计算链展开

a = y₂ − y₁;b = y₃ − y₂ c = b − a n = (t − t₂)/Δt y(t) = y₂ + n(a + b + nc)/2

先求两段一阶差,再求二阶差。n没有单位;本课Δt=1天。n=0时修正项消失,必须回到y₂。

试一试

先点“表里已有的时刻”,再点“前一天 12:00 TD”和“当天 06:00 TD”。虚线记录单显示估计结果,左边原有三条记录不会改变。

动手看一遍 →

符号不用背

y₁, y₂, y₃
相邻三天的距离,单位 AU(天文单位)
n
距中心时刻的偏移,除以表格间隔;本例间隔 1 天
a, b, c
一阶差分与二阶差分

算法、精度与适用范围

采用书中表 (3.2) 与式 (3.3),印刷页 24。TD 是书中动力学时的写法;本课不与 UT 做转换。区间限制为 −0.5 至 +0.5,以保持中心点最近。图中曲率很小,这是原始数据本身的性质。 情景说明:保留原书表 (3.2) 的地火距离与式 (3.3),单位 AU;日期为 1992 年 11 月 7–9 日 0 时 TD。本课不转换为当地时区或 UT,查询范围限制在中心前后半天,不画真实比例的行星空间轨道。

我的理解检查

本课三条原始记录,相邻时刻隔多久?

一天 — 相邻记录都在连续日期的午夜,间隔一天。

右边虚线记录单里的中间数,是新测量的吗?

不是,是插值得到的 — 它来自左侧三条记录的计算,不能把估计值当成新测量证据。

知道三天的数据,就能放心预测几十年以后吗?

不能 — 短区间的平滑插值不是完整运动定律,不能随意做远距离外推。

插值是在附近记录之间补空白。知道估计值从哪来,也要知道它不能推多远。

Jean Meeus · Astronomical Algorithms, 2nd ed. · 第 3 章

通用算法与数值计算 · 全部互动课程