数列(高中)

                     

贡献者: 欄、停敘; jingyuan; addis

预备知识 函数

   数列是一种非常古老的数学内容,古代数学家们在某些方面已经对其进行了深入研究。最初,数列是人们将观测到的对象按照顺序排列而形成的一种表示方式。在那个时期,甚至还没有函数的概念。随着数学的发展,函数逐渐成为描述变量之间关系的重要工具。前面介绍过,在高中阶段所接触的函数通常定义在连续的数集上,比如实数集 $\mathbb{R}$ 或某个区间,因此其图像往往是一条连续的曲线。然而,数学世界中的关系并非总是具有连续性。当定义域限定为自然数集或其子集时,这类特殊函数便构成了数列。如果函数是连续播放的电影,那么数列就像电影的 “分镜”,是由一帧帧组成的。数列的图像就是一个个的孤立的点。

   从上面的介绍可以看出,尽管数列可以从函数的视角来理解,它继承了函数的许多特点,但数列作为独立的数学领域,也展现出独特的研究内容和性质。因此,在研究数列时,需要同时从两个视角进行观察:一是关注数列中数字之间的关系或整体的规律;二是分析数字与位置之间的对应关系。这两个视角密切相关,并将在后续的学习中反复出现,成为深入理解数列的重要基础。

1. 数列

   在小学阶段,常见的题目之一是类似这样的填空题:$1,3,7,(),31$。题目的目的是引导学生通过观察这些数字的排列规律,推断出空缺处的数字1。显然,在这里出题者希望隐含的规律是 $2^n - 1$,其中 $n$ 表示第几个出现的数。

   另一个简单的例子是将一个月中的每一天按照星期的数字标记。假设一个月的第一天是星期日,那么接下来的数字标记会形成一个循环的数列:$7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, \dots$。它的规律可以表示为 $(n-1) \mod 7$2,其中结果为 $0$ 时代表星期日,非零时则为对应的星期数。

   最初研究数列的人,或许只是简单地将一些有关系的数字排列成一列,关注数字之间的直接关系,例如相邻数字的差值、比值或其他变化模式。然而,随着数学的发展,研究数列的视角逐渐发生了转变,人们引入函数的视角,将数字的位置视为自变量。例如,上述表达式若被看作函数,其中的 $n$ 就是表示位置的自变量。这种视角的改变突出了位置的重要性。通过这种方式,数列的研究不再局限于数字之间的关系,而是扩展到数字与其位置的对应关系,逐渐将重点转向提炼和揭示数字排列的内在规律,并为数列的表达和分析提供了更加系统化的工具。

定义 1 数列

   将一些数按照一定的次序排列成一列,称为数列(number sequence)3,通常记作:

\begin{equation} a_1, a_2, a_3, \cdots, a_n, \cdots~. \end{equation}
简记为数列 $\{a_n\}$,字母 $a$ 可以替换为其他字母。

   其中,$n$ 是自然数4,数列中的每一个数被称为该数列的项(term)

   关于项,还有一些概念:

   根据数列中项数是否为有限值,可以将数列分为两类:若有限,例如 $1, 2, 3, 4$,则称为有穷数列(finite sequence);若无限,例如 $1, 2, 3, 4, \dots$,则称为无穷数列(infinite sequence)。虽然有穷数列与无穷数列在项数上有显著差异,但它们之间的联系也十分紧密:就像前面的例子那样,有穷数列可以看作是无穷数列的前部分截取。因此,在研究规律时,有穷数列的许多特性也适用于无穷数列,反之亦然。在高中阶段,只研究有穷数列。

   对于有穷数列(finite sequence),其最后一项通常被称为末项(last term),这一项标志着数列的结束。如果从倒序的角度观察数列,首项和末项的位置相互调换。例如,数列 $1, 2, 3, 4$ 的末项是 $4$,但如果倒序观察,则数列变为 $4, 3, 2, 1$,此时的末项变为原数列的首项 $1$。这种倒序视角在研究数列特性时提供了一种新的方式,特别是在对称性或逆向推导等问题中具有独特的价值。无论是正序还是倒序,数列的规律依然保持不变,只是观察的顺序发生了变化。

   为了更直观地理解数列,可以用一个排队的场景进行类比:设想一群人在排队,每个人依次站在某个位置上。可以用自然数 $n$ 给每个人编号(第一个人编号为 $1$,第二个人编号为 $2$,依此类推),并将每个人的身高记录下来。这样,排队中每个人的身高就形成了一个数列 ${a_n}$,其中 $a_n$ 表示排队中第 $n$ 个人的身高。例如:

\begin{equation} a_1 = 170, \quad a_2 = 165, \quad a_3 = 180, \quad \dots~. \end{equation}

   在这个例子中,数列 ${a_n}$ 表示排队中每个人的身高,而 $n$ 表示他们在队伍中的位置。为了便于描述这群人排队的整体情况,经常会提到就会说 “从某人到某人”,这对应的就是首项与末项的概念。

   如果数列 ${a_n}$ 的第 $n$ 项 $a_n$ 与 $n$ 之间的关系可以用一个表达式表示为 $a_n = f(n)$,那么这个表达式被称为该数列的通项公式(general term formula)。例如,前面提到的 $a_n = 2^n - 1$ 和 $a_n = (n-1) \mod 7$ 都是数列的通项公式。

   从函数的角度看,数列的通项公式可以视为一个定义在自然数集合上的函数的解析式。其中,位置 $n$ 是自变量,而项 $a_n$ 是该函数在 $n$ 处的函数值。注意通项公式的表示方法 $f(n)$,它与函数 $f(x)$ 的本质区别其实就只在于定义域的不同,这使得,数列和函数的研究方法之间有许多相通之处。在某些情况下,数列问题可以转化为函数问题,从而借助函数的工具进行分析;同样,函数的某些特性也可以通过研究数列来揭示。这种相互关联使得数列和函数成为理解数学结构的重要桥梁。

   尽管数列的通项公式非常实用,但由于数列的离散特性,在推导和使用时必须特别关注边界条件(boundary conditions),例如首项 $a_1$ 或末项 $a_n$ 等特定项,是否满足通项公式。如果通项公式无法涵盖所有项或忽略特定边界条件,就可能导致表达不完整或错误。相比之下,函数在许多场合下也需要考虑边界,但由于函数的连续性,边界问题通常表现为平滑的过渡,不需要过多关注离散点的特殊性。对于数列,只有确保通项公式对每一项都成立,才能准确描述数列的规律。

2. 递推公式

   正如并非所有函数都能写出明确的解析式,也并非所有数列都能写出通项公式。然而,数列的特殊性在于它可以通过另一种方法来定义,这种方法被称为递推公式。与前面熟悉的函数解析式不同,递推公式可能在形式上较为陌生,但其本质同样是对规律的数学表达。

定义 2 递推公式

   用数列中已知的若干项,通过一定的数学关系推导出后续项的公式称为递推公式(recurrence relation)递归公式。递推公式定义了数列的生成规律,其形式通常包含当前项与之前若干项之间的关系。递推公式的通用形式为:

\begin{equation} a_n = f(a_{n-1}, a_{n-2}, \dots, a_{n-k}),\qquad(n>k)~. \end{equation}

   其中:

  • $a_n$ 表示数列的第 $n$ 项;
  • $a_{n-1}, a_{n-2}, \dots, a_{n-k}$ 表示数列中第 $n$ 项前的 $k$ 项;
  • $f$ 是一个表达式,用于描述项之间的关系;
  • 数列的初始若干项的具体值称作起始条件(initial conditions)

   在现实生活中,解决问题时,常常需要将一个大目标拆解为若干小步骤,并按顺序完成。这种方法能够有效降低全局思考的复杂性,使问题的解决过程更加清晰和高效。递推公式的计算过程与此类似,它将复杂的问题分解为多个简单的子问题,并通过递归关系逐一解决。这种逐步推进的方式避免了直接寻求整体答案的困难,而是通过每一步的解决逐步逼近最终目标,从而有效降低了 “想要一步登天” 的难度。

   下面以著名的斐波那契数列(Fibonacci sequence)为例,介绍递推公式是如何作用的。斐波那契数列 $\{a_n\}$ 的定义如下:

\begin{equation} a_n = a_{n-1} + a_{n-2},\qquad(n>2)~. \end{equation}
其中 $a_1 = a_2 =1$。

例 1 求斐波那契数列的第 5 项。

   首先,明确数列的初始值。在斐波那契数列中,已知 $a_1 = 1$ 和 $a_2 = 1$。然后利用递推关系计算后续项,根据公式有第 $3$ 项 $a_3 =a_1 +a_2= 1 + 1 = 2$,第 $4$ 项 $a_4 = a_3 + a_2 = 2 + 1 = 3$ 和第 $5$ 项 $a_5 = a_4 + a_3 = 3 + 2 = 5$。

   事实上,按照递推公式不断推算,可以得到完整的斐波那契数列:$\{a_n\} = 1, 1, 2, 3, 5, 8, 13, \dots$。当然,使用递推公式不代表没有通项公式,经过数学家的努力,得到了斐波那契数列的通项公式:

\begin{equation} a_n = \frac{\phi^n - \psi^n}{\sqrt{5}}~. \end{equation}
其中:

   可以看到,斐波那契数列的通项公式的形式远比递推公式复杂,而且并不像递推公式那样直接反映数列中数字之间的关系。尽管数列中的每一项始终是自然数,但通项公式本身却涉及分式和无理数,令人感到困惑。相比之下,有些问题虽然可以通过递推公式进行定义,却无法写出明确的通项公式。例如,著名的约瑟夫问题(Josephus problem)就是一个典型案例,其规律没有明确的通项公式,因此求解过程中必须采用递推计算的方式。

   约瑟夫问题描述了标号为从 $0$ 到 $n-1$ 的 $n$ 个人围成一圈,从 $0$ 号开始,开始报数,每从 $1$ 数到 $k$ 就淘汰一个人,然后下一个人再从 $1$ 开始重新报数,直到剩下最后一人。因此需要进行 $n-1$ 轮报数来淘汰掉 $n-1$ 人。

例 2 求 $n=10,k=3$ 时,约瑟夫问题存活的序号。

   表 1 展示了淘汰过程,表中有 $\circ$ 符号表示上轮被淘汰,数字显示的是这一轮报数实际报的数字。

表1:$n=10,k=3$ 为例的淘汰过程
报数轮次 编号 0 编号 1 编号 2 编号 3 编号 4 编号 5 编号 6 编号 7 编号 8 编号 9
1 存活 1 存活 2 存活 3 存活 存活 存活 存活 存活 存活 存活
2 存活 存活 淘汰 $\circ$ 存活 1 存活 2 存活 3 存活 存活 存活 存活
3 存活 存活 淘汰 存活 存活 淘汰 $\circ$ 存活 1 存活 2 存活 3 存活
4 存活 2 存活 3 淘汰 存活 存活 淘汰 存活 存活 淘汰 $\circ$ 存活 1
5 存活 淘汰 $\circ$ 淘汰 存活 1 存活 2 淘汰 存活 3 存活 淘汰 存活 1
6 存活 3 淘汰 淘汰 存活 存活淘汰 淘汰 $\circ$ 存活 1淘汰 存活 2
7 淘汰 $\circ$ 淘汰 淘汰 存活 1 存活 2 淘汰 淘汰 存活 3 淘汰 存活
8 淘汰 淘汰 淘汰 存活 2 存活 3 淘汰 淘汰 淘汰 $\circ$ 淘汰 存活 1
9 淘汰 淘汰 淘汰 存活 2 淘汰 $\circ$ 淘汰 淘汰 淘汰 淘汰 存活 1,3
- 淘汰 淘汰 淘汰 存活 淘汰 淘汰 淘汰 淘汰 淘汰 淘汰 $\circ$

   因此,在题目条件下,最后存活的序号为 3。

   上面复杂的推理过程,经过数学家的研究得到了化简。由于化简的推导过程涉及动态规划(dynamic programming),是在算法领域比较复杂的一种算法,此处仅给出最终结论。假设 $a_{n,k}$ 表示在报数时报到 $k$ 被淘汰的情况下,总人数为 $n$ 时存活的人的序号,则一般5其递推公式为:

\begin{equation} a_{n,k} = (a_{n-1,k} + k) \mod n, \qquad \text{其中 } a_{1,k} = 0~. \end{equation}

   在固定报数 $k$ 的条件下,也可以简化表示为:

\begin{equation} a_n = (a_{n-1} + k) \mod n, \qquad \text{其中 } a_{1} = 0~. \end{equation}

   在 $k=3, n=10$ 的条件下,该数列的递推过程如 表 2 所示。需要注意,这里的序号指的是 $n$(总人数),而不是报数的轮次。换句话说,每个 $a_n$ 都对应于一个 表 1 中描述的完整报数过程的最终结果。

表2:$k=3,n=10$ 条件下的递推过程
$n$ $a_n$ $n$ $a_n$
1 0 6 0
2 1 7 3
3 1 8 6
4 0 9 0
5 3 10 3

   从前面所述的两个例子可以看出,与通项公式相比,递推公式在定义具有明确生成规律但不易直接表达的数列时尤为适合。即使数列没有明确的通项公式,仍然可以通过已知的初始项逐步递推出所有后续项,从而完整地描述数列的特性和规律。

3. 数列和

   有一个古老的寓言,说当时的国王为了奖励国际象棋的发明者,询问他想要什么作为奖励。发明者提出,他只需要麦子:第一格棋盘放一粒,第二格放两粒,第三格放四粒,依此类推,每一格的麦粒数量是上一格的两倍。国王爽快地答应了,但当大臣计算后报告整个棋盘需要的麦粒总数时,国王却惊呆了。

   计算结果显示,总数为 $2^{64} - 1$ 粒麦子,即 $18,446,744,073,709,551,615$ 粒。这个数字之庞大,即使倾尽整个王国的储备,也难以满足奖励的需求。人们在讲这个故事的时候,往往慨叹于指数增长的惊人威力,但这个故事也带来了一个重要问题:要如何计算如此庞大的总量?

   在解决上面的问题以及如 “银行存款因利息累积带来的总余额变化” 等复杂实际问题时,人们需要关注累积量(cumulative quantity)的概念。累积量是将一系列数据逐项累加所得的总和,在数学建模中,累计量往往比单个数据更有价值,因为它直接反映整体变化的趋势和规模。为了计算累积量,数学中提出了数列和(sum of a sequence)的概念。数列和是揭示数字规律、简化复杂计算的重要工具,帮助人们从单个项的视角转向整体的积累和规律。通过求和,不仅可以发现数列中的规律,提高计算效率,还可以反向推导出数列的通项公式或递推特性。

定义 3 数列和与级数

   对于有穷数列 $\{a_n\}$,其前 $n$ 项相加所得到的结果被称为数列和(sum of a sequence),表示为:

\begin{equation} S_n = a_1 + a_2 + \cdots + a_n~. \end{equation}

   为了简化书写,常用求和符号表示为:

\begin{equation} S_n = \sum_{i=1}^n a_i~. \end{equation}

   对于无穷数列,其所有项相加的结果被称为级数(series),表示为:

\begin{equation} S = \sum_{n=1}^\infty a_n~. \end{equation}

   此时,前 $n$ 项相加所得到的结果被称为部分和(partial sum)

   在上面的概念中,数列和关心的是和的数值,而级数通常关注的核心问题不是具体值,而是它是否收敛。在高中阶段,由于不涉及无穷数列,所以只会研究数列和。因为有穷数列的规律往往可以推广到整个自然数集,于是有穷数列的和与部分和在形式上密切相关。由于级数的研究通常从部分和入手,因此掌握数列和的计算方法对未来研究级数具有重要意义。

   计算数列和的最直观方法是将数列的各项逐项相加。例如,对于数列 $1, 2, 3, 4, 5$,其前五项的和为: $$ S_5 = 1 + 2 + 3 + 4 + 5 = 15~. $$ 然而,对于每个 $n$,将从 $1$ 到 $n$ 的数列和依次列出,可以构成一个新的数列 $\{S_n\}$。通过分析某些特定数列的特性,可以直接找到数列和的通项公式,从而避免逐项累加的繁琐过程。$\{S_n\}$ 的通项公式将数列和与位置 $n$ 紧密联系起来,进而使得分析 $\{S_n\}$ 与 $\{a_n\}$ 的通项公式间的关系成为可能。此外,$\{S_n\}$ 也具有自己的递推公式,这个递推公式也反映出数列和与原数列之间的联系:

\begin{equation} S_n = S_{n-1} + a_n\qquad(n>1)~, \end{equation}
尽管这一关系的正确性显而易见,但它却是许多复杂递推公式的理论基础。特别地,基于数列和数列和的关系,可以得到非常重要的边界条件——$S_1=a_1$。因此,通过式 11 的变形,可以得出:
\begin{equation} a_n = \begin{cases} S_1,&\qquad(n=1)\\ S_n - S_{n-1},&\qquad(n>1) \end{cases}~. \end{equation}
这表明原数列 $\{a_n\}$ 实际上就是数列 $\{S_n\}$ 的一阶差分。事实上,基于文章最开始提到过的数列与函数的对应关系,$a_n$ 和 $S_n$ 的通项公式的关系可以类比于函数的函数与不定积分的关系。这种联系在高中阶段未详细探讨,在大学的高等数学中会有更加深入的阐述。

   由于数列和本身是有限个数字相加,而这时加法满足交换律,所以,求和结果与数列每一项的排列次序无关,一个常用的技巧是将数列和倒序排列求和,即6

\begin{equation} \begin{split} S_n&=a_1 + a_2 + \cdots + a_n\\ &=a_n+a_{n-1} \cdots +a_1 \end{split} \qquad\text{或}\qquad \begin{split} S_n&=\sum_{i=1}^n a_i\\ &=\sum_{i=1}^n a_{n-i+1}~. \end{split} \end{equation}
另外,求和也满足分配律,于是若将 $S_n$ 乘以某一常数 $k$,结果也等于每一项都乘以 $k$,即:
\begin{equation} kS_n=\sum_{i=1}^n ka_i~. \end{equation}
上面两种方法,会在后面的学习中经常使用。

4. 数列的性质

   由于数列与函数的密切关系,数列的许多特性可以看到函数性质的影子。这些性质赋予了数列丰富的数学意义,使其从单纯的数字排列跃升为数学研究中的重要对象。

   增减性(monotonicity)是数列的一种基本性质,与函数的单调性类似,用于描述数列的趋势,二者的定义也异曲同工:

定义 4 数列的增减性

   对于数列 $\{a_n\}$,从第 $2$ 项起,若满足:

  1. 每一项都大于前一项,即 $a_{n+1} > a_n$,则称为递增数列(increasing sequence)
  2. 每一项都小于前一项,即 $a_{n+1} < a_n$,则称为递减数列(decreasing sequence)
  3. 有些项大于它的前一项,有些项小于它的前一项,则称为摆动数列(oscillating sequence)

   就像前面提到的排队一样,这里分别对应的就是从小到大排列、从大到小排列和随意站立的情况。另外,如果数列的各项都相等,则称为常数列(constant sequence),即对应所有人高度相同,队伍呈现 “整齐划一” 的状态。

   这里的判断过程类似于函数通过导数来判断单调性,事实上,在介绍导数的记号时曾提到过的离散情况下的导数——差分(difference)就是 $a_{n+1}-a_n$。

   由于有穷数列与无穷数列关系紧密,下面会介绍一些高中不涉及但可以理解的,大多数情况与无穷数列有关的数列性质。

   界限性(boundedness)描述了数列项的范围,体现了数列在整体上的约束。

定义 5 有界数列

   如果数列的所有项的绝对值都小于某个正数 $M$,即 $\lvert a_n \rvert < M$,则称该数列为有界数列(bounded sequence)

   有界性确保了数列不会无限增大或减小,反映了数列在某一区间内的稳定性。由定义可知,所有的有穷数列都是有界数列,所以这个概念更多地是用来描述无穷数列。

   周期性(periodicity)是数列的另一重要特性。如果数列按一定规律重复,则称其为周期数列(periodic sequence)。例如,数列 $1, -1, 1, -1, \dots$ 的周期为 $2$,而之前介绍的记录星期的数列,每隔 7 天就会重复一次,也是一个周期数列。周期数列广泛应用于描述离散的重复现象,例如信号处理中波形的分析等领域。

   极限(limit)是无穷数列的一个核心特性,用于描述数列在趋于无穷时的长远趋势,由于高中不涉及极限,此处仅给出感性的理解。当 $n \to \infty$ 时,如果数列 ${a_n}$ 稳定趋近于某一固定值 $L$,则称 $L$ 为该数列的极限(limit)。例如,数列 $a_n = \frac{1}{n}$ 的极限为 $0$。这与函数极限类似,其实,数列极限的研究为函数极限提供了重要基础。

   另外,除了这些与函数相似的性质,就像每类函数有自己独特的特性一样,不同类型的数列也具有自身独特的规律。高中阶段主要研究的等差数列(arithmetic sequence)等比数列(geometric sequence)正是如此。它们的特性将在后续内容中详细展开。

   在高中阶段,数列的研究范围相对狭隘,主要集中于古代早期就被发现的等差数列和等比数列。然而,这并不意味着数列的研究止步于此。事实上,数列的概念在更高层次的数学学习中具有深远的影响,并与许多重要主题密切相关,例如实数的构建、级数以及分析学中的广泛应用。因此,在学习数列时,建议读者不要局限于记忆公式,而是更多地关注其规律与研究方法。尤其是理解公式背后的原理,这不仅帮助掌握数列的变化规律,还能培养更深层次的数学思维,为未来更加复杂的数学学习奠定坚实的基础。


1. ^ 然而,尽管这类题目通常有 “标准答案”,但实际上,填写任何数字,都能够给出合理的规律。
2. ^ $\mod{}$ 为取余函数,即 $a\mod b$ 为 $a$ 除以 $b$ 得到的余数。
3. ^ 或称为数字序列,有时也会简译为序列(sequence),因为一般要描述的序列目标类型都是明确的。当然序列是一个更为宽泛的概念。
4. ^ 在数学中,自然数通常从 $0$ 开始,但在高中阶段,一般要求数列从 $1$ 开始。当然也有其他教材会从 $0$ 开始。
5. ^ 即不涉及某些特殊的 $k,n$ 条件。
6. ^ 后一种表示方法参见求和符号


致读者: 小时百科一直以来坚持所有内容免费无广告,这导致我们处于严重的亏损状态。 长此以往很可能会最终导致我们不得不选择大量广告以及内容付费等。 因此,我们请求广大读者热心打赏 ,使网站得以健康发展。 如果看到这条信息的每位读者能慷慨打赏 20 元,我们一周就能脱离亏损, 并在接下来的一年里向所有读者继续免费提供优质内容。 但遗憾的是只有不到 1% 的读者愿意捐款, 他们的付出帮助了 99% 的读者免费获取知识, 我们在此表示感谢。

                     

友情链接: 超理论坛 | ©小时科技 保留一切权利