高中物理告诉我们,简谐运动的位移是正弦函数。但课本从来没解释「为什么」——它总是先假设 $x(t)=\sin$ 之类的解,代进方程验证成立,就算完事。这是一个拿未知去凑已知的过程,总让我觉得不踏实。
于是我决定反过来做:只以胡克定律这一条公理为起点,一点一点分析速度的变化,看看能不能从已知推出未知,最终自己长出那个正弦(或余弦)来。这篇文章记录了我的两次尝试——第一次用无穷细分硬算,第二次用矩阵和几何,从繁到简,最后竟然和欧拉公式撞了个满怀。
第一次尝试:把时间无限细分
为了简便,设弹簧劲度系数 $k$ 和质点质量 $m$ 都为 1,质点从平衡位置出发,初速度为 $v$。
核心思路是:假设有一段无穷短的时间 $t$,在这段时间内加速度和速度都来不及改变,只在 $t$ 的末尾一瞬间才更新。于是简谐运动被拆解成一个个离散的步骤:
- $v$ 让位置改变了 $x$(即 $x \mathrel{+}= vt$);
- $x$ 根据胡克定律决定了加速度 $a=-x$;
- $a$ 让速度改变了(即 $v \mathrel{+}= at$);
- 一个 $t$ 结束,进入下一轮,周而复始。
我们从初始状态开始,一轮一轮地手推:
$$\text{初始:}\quad x=0,\quad a=0,\quad v=v$$$$\text{经过 } t:\quad x=vt,\quad a=-vt,\quad v=v-vt^2$$$$\text{再经过 } t:\quad x=2vt-vt^3,\quad v=v-3vt^2+vt^4$$$$\text{再经过 } t:\quad x=3vt-4vt^3+vt^5,\quad v=v-6vt^2+5vt^4-vt^6$$$$\text{再经过 } t:\quad x=4vt-10vt^3+6vt^5-vt^7,\quad v=v-10vt^2+15vt^4-7vt^6+vt^8$$藏在系数里的规律
盯着速度 $v$ 每一轮的变化看:
$$v$$$$v-vt^2$$$$v-3vt^2+vt^4$$$$v-6vt^2+5vt^4-vt^6$$$$v-10vt^2+15vt^4-7vt^6+vt^8$$容易观察到两点:正负号交替,且后一项总比前一项多一个 $t^2$。把 $v$ 和 $t$ 都抹掉,只留下系数的绝对值,得到一个三角形:
$$ \begin{array}{ccccc} 1 \\ 1 & 1 \\ 1 & 3 & 1 \\ 1 & 6 & 5 & 1 \\ 1 & 10 & 15 & 7 & 1 \end{array} $$这个三角形可以永远写下去。它为什么长这样?因为 $v=v_0+at$,所以 $a$ 要「向后移动一位」加到 $v$ 上;而 $x=vt,\ a=-x$,$a$ 本身比 $v$ 多一个 $t$,相当于 $v$ 直接加到 $a$ 上。两串数就这样互相累加,滚出了整个三角形。
每一列都是一个多项式
如果竖着一列一列地看,会发现每个数都能拆成上一列的累加。先看第二列:
$$1=1$$$$3=1+(1+1)$$$$6=1+(1+1)+(1+1+1)$$$$10=1+(1+1)+(1+1+1)+(1+1+1+1)$$(我特意把 $1,2,3,4$ 写成一堆 $1$,是为了和后面几列统一格式。)第三列也一样能拆:
$$1=1$$$$5=1+(1+3)$$$$15=1+(1+3)+(1+3+6)$$把每一列看成一个数列,做「逐项差分」:第一列不用差分就是 $1$;第二列差分两次得到 $1$;第三列差分四次得到 $1$……规律是第 $n$ 列做 $2n-2$ 次差分后变成全 $1$。
关键在于:当我们要算 $mt$ 时刻(也就是第 $m$ 行)的速度,且 $m\to+\infty$ 时,可以把离散的数列近似看作连续函数,把相邻项的差看作微分。「差分 $2n-2$ 次得到常数 $1$」翻译过来就是「求导 $2n-2$ 次得到 $1$」——这说明第 $n$ 列是一个多项式函数,其最高次项为
$$\frac{1}{(2n-2)!}\,m^{2n-2}$$精华来了:这个多项式是经过极大量次累加得到的,低次项极其复杂,但因为 $m\to\infty$,我们可以放心地把除最高次项外的所有项统统抹掉!
撞上余弦级数
把之前抹掉的 $v$、$t^{2n-2}$ 和交替符号 $(-1)^{n+1}$ 补回来,第 $m$ 行第 $n$ 列的单项式是:
$$(-1)^{n+1}\frac{1}{(2n-2)!}\,v\,m^{2n-2}\,t^{2n-2}$$$mt$ 时刻的速度就是第 $m$ 行全部 $m$ 个单项式之和:
$$v_{mt}=\sum_{n=1}^{m}(-1)^{n+1}\frac{1}{(2n-2)!}\,v\,(mt)^{2n-2}=v-\frac{v(mt)^2}{2!}+\frac{v(mt)^4}{4!}-\frac{v(mt)^6}{6!}+\cdots$$写到这里,我突然发现——这不就是 $\cos$ 的泰勒级数吗!
$$v(mt)=v\cos(mt)$$在简谐运动中,速度关于时间满足余弦关系。 这是从胡克定律一步步推出来的,中间没有预设任何三角函数。(前面为简便设了 $k=m=1$,带上它们结论完全一样。)
第二次尝试:把 x 和 v 塞进一个向量
第一次的做法虽然严谨,但 $x$ 和 $v$ 互相叠加的计算量实在太大。后来我意识到:既然 $x$ 和 $v$ 在互相影响,不如把它们当作一个向量的两个维度,把代数上的纠缠转化成矩阵乘法。
当 $t\to 0$ 时,一步更新是 $x_{new}=x+vt,\ v_{new}=v+at=v-xt$,写成矩阵:
$$\begin{bmatrix} x_{new} \\ v_{new} \end{bmatrix}=\begin{bmatrix} 1 & t \\ -t & 1 \end{bmatrix}\begin{bmatrix} x \\ v \end{bmatrix}$$那么经过 $mt$ 的时间,只需把这个转移矩阵做 $m$ 次方,再乘上初始状态 $x=0,\ v=v_0$:
$$\begin{bmatrix} x \\ v \end{bmatrix}=\begin{bmatrix} 1 & t \\ -t & 1 \end{bmatrix}^m\begin{bmatrix} 0 \\ v_0 \end{bmatrix}$$一个像虚数 i 的矩阵
怎么算这个矩阵的 $m$ 次方?观察到它可以拆成单位矩阵加上另一个矩阵的 $t$ 倍:
$$\begin{bmatrix} 1 & t \\ -t & 1 \end{bmatrix}=\begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}+t\begin{bmatrix} 0 & 1 \\ -1 & 0 \end{bmatrix}=I+tA$$把后面那个矩阵叫作 $A$。为什么要拆出它?因为 $A$ 的幂次有惊人的规律:
$$A^2=\begin{bmatrix} -1 & 0 \\ 0 & -1 \end{bmatrix}=-I,\quad A^3=-A,\quad A^4=I,\quad A^5=A$$$A$ 简直就像虚数 $i$:平方是 $-I$,四次方回到 $I$,四步一循环。既然转移矩阵是 $I+tA$,外面又有个 $m$ 次幂,而 $m\to\infty$,直接上二项式定理:
$$(I+tA)^m=I+mtA+\frac{m(m-1)}{2!}t^2A^2+\frac{m(m-1)(m-2)}{3!}t^3A^3+\cdots$$由于 $m\to\infty$,$\frac{m(m-1)\cdots}{k!}\approx\frac{m^k}{k!}$,再用 $A^2=-I,\ A^3=-A,\ A^4=I$ 代入:
$$=I+mtA-\frac{1}{2!}(mt)^2 I-\frac{1}{3!}(mt)^3 A+\frac{1}{4!}(mt)^4 I+\cdots$$再次撞上 cos 和 sin
把含 $A$ 的项和不含 $A$ 的项分开:
$$\Big(I-\frac{1}{2!}(mt)^2+\frac{1}{4!}(mt)^4-\cdots\Big)+A\Big(mt-\frac{1}{3!}(mt)^3+\cdots\Big)=I\cos(mt)+A\sin(mt)$$又是 $\cos$ 和 $\sin$!把矩阵代回去:
$$I\cos(mt)+A\sin(mt)=\begin{bmatrix} \cos(mt) & \sin(mt) \\ -\sin(mt) & \cos(mt) \end{bmatrix}$$这不就是一个旋转矩阵吗!最后带回最初的式子:
$$\begin{bmatrix} x \\ v \end{bmatrix}=\begin{bmatrix} \cos(mt) & \sin(mt) \\ -\sin(mt) & \cos(mt) \end{bmatrix}\begin{bmatrix} 0 \\ v_0 \end{bmatrix}=\begin{bmatrix} v_0\sin(mt) \\ v_0\cos(mt) \end{bmatrix}$$位移是正弦,速度是余弦,和第一次的结论完全吻合,但计算简洁了太多。
最漂亮的一步:它其实在做圆周运动
盯着这个方法看的时候,我突然发现一件诡异的事。状态向量的导数是:
$$\begin{bmatrix} x' \\ v' \end{bmatrix}=\begin{bmatrix} v \\ -x \end{bmatrix}$$这本是显然的($x'=v$,$v'=a=-x$)。但如果把 $\begin{bmatrix} x \\ v \end{bmatrix}$ 画在平面直角坐标系里,会发现 $\begin{bmatrix} v \\ -x \end{bmatrix}$ 恰好是它顺时针旋转 90° 的结果!
这一下就解释了为什么 $A$ 的自乘那么巧地具有周期性——因为 $A$ 的本质就是旋转 90°。
这意味着什么?状态向量 $\begin{bmatrix} x \\ v \end{bmatrix}$ 的导数始终垂直于它自己,且模长等于它自己。一个向量的速度永远垂直于自身、大小与自身成正比——这正是匀速圆周运动的定义!角速度为 1,所以经过时间 $mt$,向量就顺时针转过角度 $mt$:
$$\begin{bmatrix} x \\ v \end{bmatrix}=\begin{bmatrix} \cos(mt) & \sin(mt) \\ -\sin(mt) & \cos(mt) \end{bmatrix}\begin{bmatrix} x_0 \\ v_0 \end{bmatrix}$$从纯几何的角度看,这个结论是显然的。简谐运动的本质,就是相空间里的一个点在匀速转圈。
尾声:一直在暗中使用欧拉公式
从第一次把 $x$ 和 $v$ 拆开累加找规律,到第二次把它们塞进向量用矩阵和几何求解,我自认为是很大的进步。
有趣的是,这一切看似和欧拉公式 $e^{i\theta}=\cos\theta+i\sin\theta$ 无关,其实一直在暗中使用它:
- 一开始把 $(I+tA)^m$ 用二项式定理展开,其实就是重新证了一遍 $e^x$ 的泰勒展开;
- 把结果自然地分成含 $A$ 与不含 $A$ 两部分,其实就是在拆分 $e^{i\theta}$ 的实部与虚部;
- 最后的几何发现,正是巧妙利用了 $e^{i\theta}$ 的导数是 $ie^{i\theta}$——也就是「把自己旋转 90°」。
课本直接把 $\sin$ 代进方程验证,是拿未知凑已知;而这里以胡克定律为唯一起点,一步步逼出 $\cos$ 与 $\sin$,是拿已知推未知。虽然复杂得多,但更严谨,也更符合思考的逻辑。
至此,牛逼研究成果结束。