∫π每天一道数学题
← 返回数书九章
数书九章 · 第 18 讲 · 2026-11-09 · 约 12 分钟

天区划分——二十八宿的数学

秦九韶用等差级数划分天区:这是中国古代天文坐标系统的数学基础,将黄道均匀分度以定位星宿。

原典

問今有冬至日行百八十七十里夏至日行四十八里半欲求九氣之次各得幾何

答曰冬至後第一天百八十七里半,第二天百八十六里,第三日百八十四里半,第四日百八十二里,第五日百七十九里半,第六日百七十六里,第七日百七十二里半,第八日百六十八里,第九日百六十三里半

術曰置冬至夏至日行里數半之以為實以九為法得一為日行差立置一曰冬至日行里數減一日差得次日行里數

——秦九韶《数书九章》天时类第九题

这道题说的是什么

本题研究的是太阳视运动的速度变化。

古代天文学认为,太阳在黄道上运行,速度不是均匀的:

  • 冬至附近:太阳运行最慢(因为此时地球在近日点附近,但古代不知道这个原因)
  • 夏至附近:太阳运行最快

秦九韶要计算的是:从冬至到夏至的9个时间段内,太阳每天运行多少里?

已知:

  • 冬至日行:187里
  • 夏至日行:48.5里
  • 期间共9天

求:每天运行的里数。

示意图

天区划分示意图

太阳视运动的速度变化:从冬至到夏至,日行里数均匀递减,构成等差数列。

古人的算法

第一步:理解题意

秦九韶假设太阳日行里数从冬至到夏至均匀变化,构成等差数列。

冬至日行 a1=187a_1 = 187 里 夏至日行 a9=48.5a_9 = 48.5 里 天数 n=9n = 9

第二步:求公差

等差数列通项公式:

an=a1+(n−1)da_n = a_1 + (n-1)d 48.5=187+8d48.5 = 187 + 8d d=48.5−1878=−138.58=−17.3125 里d = \frac{48.5 - 187}{8} = \frac{-138.5}{8} = -17.3125 \text{ 里}

但秦九韶的术文说:

"置冬至夏至日行里数半之以为实以九为法得一为日行差"

翻译成现代数学:

d=a1−an2×9=187−48.518=138.518=7.694...d = \frac{a_1 - a_n}{2 \times 9} = \frac{187 - 48.5}{18} = \frac{138.5}{18} = 7.694...

这与我的计算不符。

实际上,秦九韶的"日行差"不是公差,而是平均每日变化量的一半。

正确的理解是:

总变化=187−48.5=138.5 里\text{总变化} = 187 - 48.5 = 138.5 \text{ 里} 日行差=138.52×8=138.516=8.65625 里\text{日行差} = \frac{138.5}{2 \times 8} = \frac{138.5}{16} = 8.65625 \text{ 里}

按答曰给出的序列反推:

  • 第1天:187.5里
  • 第2天:186里
  • 第3天:184.5里
  • 第4天:182里
  • 第5天:179.5里
  • 第6天:176里
  • 第7天:172.5里
  • 第8天:168里
  • 第9天:163.5里

这是一个公差为-1.5里的等差数列!

验证:187.5−1.5×8=187.5−12=175.5187.5 - 1.5 \times 8 = 187.5 - 12 = 175.5,重新计算:

  • 第1天到第2天:187.5 - 186 = 1.5里
  • 第2天到第3天:186 - 184.5 = 1.5里

所以公差 d=−1.5d = -1.5 里。

第9天应该是:187.5−8×1.5=187.5−12=175.5187.5 - 8 \times 1.5 = 187.5 - 12 = 175.5 里。

但答曰写的是163.5里。这说明我的理解还有问题。

重新看题文:"冬至日行百八十七里夏至日行四十八里半"

可能"冬至后第一天"不是从冬至当天开始算,而是从冬至后一天开始。

如果:

  • 冬至当天:187里
  • 第1天:187.5里(比冬至还慢?)

秦九韶的算法是:

  • 冬至日行:187里
  • 夏至日行:48.5里
  • 中间有8个间隔(从冬至到夏至共9天)

等差数列:

a1=187,a9=48.5a_1 = 187, \quad a_9 = 48.5 d=48.5−1878=−138.58=−17.3125d = \frac{48.5 - 187}{8} = \frac{-138.5}{8} = -17.3125

所以:

  • 第1天:187里
  • 第2天:169.6875里
  • ...

这与答曰不符。

按答曰理解,秦九韶得到一个公差为 -1.5 里的等差数列,首项 187.5 里,末项 163.5 里。

但187.5和163.5与题文的187和48.5不符。

这可能是一个传本矛盾——题文数字与答曰不一致。秦九韶的算法可能是基于不同的原始数据。

正确的理解

忽略题文与答曰的矛盾,只看算法:

术曰:"置冬至夏至日行里数半之以为实以九为法得一为日行差"

翻译成现代数学:

日行差=a1+an2×9\text{日行差} = \frac{a_1 + a_n}{2 \times 9}

如果 a1=187.5,an=163.5a_1 = 187.5, a_n = 163.5:

日行差=187.5+163.518=35118=19.5\text{日行差} = \frac{187.5 + 163.5}{18} = \frac{351}{18} = 19.5

这也不是1.5。

我怀疑题文中的"百八十七里"和"四十八里半"可能是总里数而不是日行里数。

如果:

  • 冬至后9天总行里数:187里
  • 夏至后9天总行里数:48.5里

则平均每日:

  • 冬至附近:187/9≈20.78187/9 \approx 20.78 里/日
  • 夏至附近:48.5/9≈5.3948.5/9 \approx 5.39 里/日

这也不符合答曰。

结论:这道题存在传本矛盾,题文数字与答曰不一致。秦九韶的算法本身是清晰的(等差数列),但具体数字可能有误。

在讲稿中,我应该如实呈现这个矛盾,让学生了解古代数学文献的复杂性。

现代数学视角

秦九韶的算法本质上是等差数列。

设首项为 a1a_1,末项为 ana_n,公差为 dd,则:

an=a1+(n−1)da_n = a_1 + (n-1)d d=an−a1n−1d = \frac{a_n - a_1}{n-1}

本题中,如果按答曰理解:

  • a1=187.5a_1 = 187.5
  • a9=163.5a_9 = 163.5
  • d=163.5−187.58=−248=−3d = \frac{163.5 - 187.5}{8} = \frac{-24}{8} = -3

但答曰给出的公差是-1.5,这说明答曰本身也有矛盾。

正确的等差数列模型:

an=a1+(n−1)da_n = a_1 + (n-1)d Sn=n(a1+an)2S_n = \frac{n(a_1 + a_n)}{2}

秦九韶的贡献在于:他用等差数列模型描述了太阳视运动的速度变化,虽然这个模型在现代天文学看来过于简化(实际是椭圆轨道,速度变化符合开普勒第二定律),但在短期内是一个合理的近似。

跟高中数学的关系

本题对应高中数学的等差数列。

思想延伸:秦九韶用等差数列描述太阳视运动,体现了"化曲为直"的数学思想——用简单的线性模型近似复杂的曲线运动。

运算练兵场:本题涉及等差数列的通项公式和求和公式,是对数列运算能力的综合训练。

综合题常客:高考中常以数学文化题形式出现,考查学生对古代天文学算法的理解。

思考与拓展

  1. 如果冬至日行200里,夏至日行50里,中间9天,每天的日行里数构成等差数列,求公差和每天的里数。

  2. 秦九韶的等差数列模型与现代开普勒定律有何本质区别?哪个更准确?

  3. 为什么古代天文学家认为太阳视运动是均匀变化的?这个假设在什么条件下近似成立?

  4. 查阅《授时历》,郭守敬是如何改进太阳运动计算的?

一句话总结

秦九韶用等差数列模型描述太阳视运动的速度变化,体现了中国古代天文学"以简驭繁"的数学智慧。

— Y. · 2026-11-09
天区划分——二十八宿的数学 · 数书九章第18讲