这是三部曲中的第一部视频,旨在揭开拉普拉斯变换的神秘面纱,它是研究微分方程的有力工具。虽然我们要到下两章才会深入研究拉普拉斯变换本身,但我们在这里介绍的所有内容都建立了思维框架和先决知识,使理解拉普拉斯变换变得易如反掌。不过,这段视频可不仅仅是前言。这本身就是一堂非常有趣的课,让我们了解数学史上最著名的方程之一是如何通过一个奇特的技巧来求解一个在物理学中无处不在的方程的。

本章和下两章的主角都是指数函数,我总是把它们写成 e^(st)。在这里,我们把 t 看作时间,把 s 看作某个数字,它决定了我们谈论的是哪个指数函数。这段视频的主要目的之一是用物理学来解释为什么让 s 不仅可以自由取实数值,还可以取复数值。但是等一下,把复数塞进指数里到底是什么意思?

在这里,我想观众会有一些分歧。你看,对于一些经常在网上观看数学视频的观众来说,插入 π 乘以 i 的特定情况已经有点老生常谈了。YouTube 上的许多视频对此都有充分的介绍,但另一方面,大多数学生都觉得这是一个令人费解的概念。鉴于这一点对接下来的一切都具有绝对的基础性,即使你属于第一个阵营,我也希望你会同意,值得在这里通过回顾一种非常漂亮和直观的方式来理解这个想法。更妙的是,接下来的内容还可以为微分方程的可视化和思考提供温和的热身。

你可以从 e 对 t 的导数这一事实入手。其他基数的指数会有与自身成比例的导数,但 e 是比例常数为 1 的特殊数字。现在,在微积分课堂上,你经常会把导数想象成图形的斜率。这很好,但这不是唯一的办法。你应该养成多动脑筋的习惯。比如说,你可以把它看作是告诉你数线上某一点的位置与时间的函数关系。那么,导数表达式告诉你的是,在每一时刻,速度矢量必须与位置矢量完全相同。

更具体地说,因为你知道 e^0 等于 1,0 的任何值都是 1,所以你也有一个初始条件。它告诉你从数字 1 开始。因此,在第一时刻,速度也是 1,这意味着它指向右边。但位置越靠右,移动速度就越快。因此,即使你从未听说过函数 e^t 或指数增长,仅这一特性就足以让你直观地感受到它是如何给出一个以加速度增长的值的。但如果指数中有某个常数,比如 e^(2t)呢?那么,根据链式法则,导数就是函数本身的 2 倍。

动态读取速度矢量时,速度矢量总是位置矢量的两倍。同样,位置越靠右,移动速度就越快。但这次的感觉是,这种增长更快地失去了控制。如果这个常数是负数,比如负 0.5 呢?同样,根据链式法则,这个函数的导数是函数本身的负 0.5 倍。因此,在每个时间点上,速度矢量看起来就像是位置矢量的 180 度旋转,但缩减为其长度的一半。

这意味着你开始向左移动,但当你以较小的位置矢量接近零点时,速度必然成比例地变小。因此,它接近零,但速度越来越慢。当然,这就是指数衰减。但现在是有趣的部分,也就是我们来这里的初衷。如果这个常数是一个虚数 i,即负 1 的平方根呢?同样,链式法则告诉我们,这个函数的导数将是函数本身的 i 倍。从几何学角度看,乘以 i 就像旋转 90 度,因此这告诉你速度必须始终与位置垂直。

对于那些对复数有点生疏或需要快速复习的人来说,假设你有一个任意的复数值 a + bi,你通常会在二维平面上画出它。像这样,考虑 i 乘以的最简单方法就是逐个分量计算。有时,我会在这条垂直的虚线上结束。然后,bi 乘以 i 是 b(i^2),即-b。这就是 i 的定义属性。你会发现,这两个单独的组件都旋转了 90 度。因此,总和也要旋转 90 度。

回过头来看等式,显然这次我们必须把位置看作是复平面内的位置。即使你从未听说过将 e 升为虚数,即使你一开始并不清楚这究竟意味着什么,表达式也在告诉你,这个值的移动方式必须使速度矢量始终锁定为位置矢量旋转 90 度后的副本。唯一符合这一标准的运动是绕圆旋转,而且由于初始位置为 1,速度矢量总是具有单位长度。因此,这就告诉了你必须以多快的速度移动。

你的点在圆周上游荡,每经过一个单位的时间,就会划过一个单位的弧长。例如,要得到数学中最著名的方程之一,如果你等待 π 个单位的时间,你的结果恰好是圆的一半。这就是为什么 e^(πi) 是 -1 的原因。有一件事始终值得向最初对这个表达式感到困惑的学生强调,那就是这个符号是多么容易让人误解。

当你输入一个复数值时,表达式实际上与重复乘法关系不大,老实说,与数字 e 的关系也不大。它所指的计算是将输入值插入这个无穷多项式,即 e^x 的泰勒级数。我认为,花点时间解释一下为每个多项式项插入类似 π 乘以 i 的字面意思,其实非常有趣。当你取更大的幂时,i 的每一个额外因数都会再旋转 90 度,然后 π^n / (n!) 项最初会增长,但随着分母接替,它们又会缩小,最后你会看到这个螺旋式的和,最后收敛到负 1。

尽管如此,如果改变表达式 e^(i*t) 中的值 t,就会在单位圆上走一圈,这一点并不明显。这就是为什么关注自身导数的属性比关注底层计算更有帮助。在实践中,人们习惯于使用表达式 e^x 作为这里的符号速记,并真的认为没什么大不了的。在这节课中,我将为大家展示一个复数平面,表示这个数字 s 的可能值。对于平面上的每一点,我希望大家能够思考相应的指数函数 e^(st)。

我们刚刚讨论了当 s I 在右下方时会发生什么,我可以向你展示输出是如何随时间变化的。然后在右上角,我可能会显示一个图表,为了使其适合屏幕,我通常只显示输出的实际部分与时间的关系。在这种情况下,它看起来像一个余弦波。如果 s 是不同的虚数,比如 2 i,就意味着旋转速度不同。一方面,这是显而易见的。在时间前面加上 "2",速度显然快了一倍。

不过,我还是觉得动态读取导数表达式的内容很有趣。在这种情况下,你可以把它理解为速度始终是位置矢量旋转 90 度后的副本,但被拉伸为长度为 2。一般来说,人们通常用希腊字母欧米茄来标示这个虚部,它描述了运动的角频率。换句话说,在单位时间内,它绕圆经过的弧长是多少弧度?这只是虚轴。但是,如果 s 既有实部又有虚部呢?

比如负 0.5 加 i。一方面,你可以拆分指数,这部分告诉你,指数的大小会随时间衰减。然后这部分告诉你,有旋转。这一切都很好,但为了好玩,你可以用另一种方式来思考,那就是继续沿用之前的直觉。要了解复数乘法的原理,你可以问旋转和拉伸的组合会将 1 的向量放到新值 s 上。因此,导数表达式告诉你,位置矢量和速度矢量之间始终存在这种关系。

我认为,从几何学的角度来看,这可以让你非常直观地理解为什么运动必须是螺旋式向内的。有时,你会听到工程师将其称为 S 平面,这基本上意味着你应该将该平面上的每一点都视为整个函数 e^(st) 的编码。s 的虚部总是告诉你函数振荡的速度和方向。然后,S 的真正作用是告诉你幅度是增长了还是缩小了。正实数部分对应指数增长,负实数部分对应指数衰减。这个关键等式告诉我们,速度是位置的某种修正版。位置基本上是一个微分方程。

对于你我来说,刚刚看到了读取微分方程的直觉如何解释复指数的含义,至少如果你想让 e^x 保持其核心属性的话。让我们反过来回到我们的核心问题,看看一组不同的微分方程如何促使你从一开始就关心复指数。最容易让你明白我的意思的例子是整个物理学中都会用到的一个非常核心的例子,或者你可以想象一下弹簧上有一个质量。我们将用 x 来描述这个质量的位置,它会随着时间的推移而变化。数值 0 代表平衡位置。

当然,这个位置与时间函数的导数就给出了该质量的速度。然后是二阶导数,即速度的变化率,得出加速度。这种弹簧设置的主要特点是,你越是将弹簧拉向一边,它就越能将质量加速推向平衡位置。更具体地说,我们可以说,等于质量乘以加速度的力,即牛顿第二定律,通常可以很好地近似为 k 乘以位置。这里的 K 只是某个正比例常数。它能告诉你弹簧的强度有多大。整个方程式告诉你,力与位置成正比。

现在,这个例子之所以在整个物理学中被广泛使用,是因为在很多其他情况下,你可以将力与某种偏移量近似地成正比。通常并不完全如此,但作为一阶近似值,它确实可以帮助你模拟将要发生的事情。在这里加入一个与速度成正比的项也很常见。我们称之为阻尼项。这个希腊字母 mu 代表另一个正系数。负号告诉你,质量移动得越快,阻尼力就越大。

也许你认为它是摩擦力,也许你认为它是空气阻力。我还记得,在我还是一名物理系学生的时候,摩擦力和空气阻力的实际表现都不是这样的,这一直困扰着我。但更好的看法是,同样,这是对这个质量上可能存在的减速力的一阶近似。关键是,我们现在有了一个微分方程。随时间变化的位置是一个未知函数,但我们知道它必须遵守这一约束条件。你的物理直觉可能会告诉你,你期望的解决方案在这里是什么样子的。

会有一些来回摆动,然后随着能量在阻尼效应的作用下流失,摆动的振幅就会衰减。我要把这个等式的所有内容都移到它的一边,这样我们就可以把很多内容都设为零了。需要提醒的是,微分方程本身并没有一个特定的函数来求解。对于这个质量可能存在的不同初始位置,你会得到不同的函数,这些函数也能解方程。实际上,这只是我们可以改变的两个自由参数中的一个,因为所有这些都是初速度为零的解。

但你也可以想象,质量一开始的速度并不为零,初始位置和初始速度的每一个组合都对应着一个不同的函数,而这个函数也能求解方程。因此,要解决这个问题,实际上需要寻找一个能解决这个问题的函数族。而且,你最好能找到某种方法,缩小该家族中哪个成员能解决你的特定初始条件。那么,如何解决这个问题呢?有一个非常奇怪的技巧,我记得我还是微积分学生的时候,第一次看到这个技巧时,真的很困扰,那就是你只要猜测答案看起来像 e^(st),其中 s 只是某个常数,某个你要求解的东西。

这让我很苦恼,因为这样的猜测和检查感觉就像是要求学生提前知道答案。而且你的物理直觉告诉你,指数可能并不是弹簧上这个质量的真实表现。是的,坦率地说,这是不系统的。但我想说的是,让这一技巧更系统化、更普遍化的愿望,将是你我找到拉普拉斯变换的原因之一。就在这里,让我们向前奔跑,看看它会给我们带来什么。如果位置与时间的关系真的像 e^(st),那么当你求出它的导数时,你就会你得到的是同一个函数,但根据链式法则,你将它乘以 s,然后二阶导数看起来又是同一个函数,但它又增加了一个 s 因数。

这里非常好的一点是,你可以把 e^(st) 因子除去,现在所有取决于时间的东西都在这个项里了。此外,指数永远不会等于零。因此,如果这个等式成立,就意味着这里的部分必须等于零。因此,留给你的只是一段代数。如果我们忽略阻尼系数,求解这个一元二次方程,它看起来有点像原始微分方程的镜像。基本上,将 mu 设为零,然后稍加重排并取平方根,就会发现 s 将是 -k/m 的正负平方根。

现在,k 和 m 都是正数,这意味着,不管你想不想,负 1 的平方根 i 现在也加入了游戏。这个 k/m 的平方根术语,我给它起了一个暗示性的简称,叫欧米茄。回过头来,记住 s 代表什么。我们正在探索这个方程的解看起来像 e^(st) 的可能性。如果我们输入这些 s 值,你现在就知道这意味着什么了。插入这样一个纯虚项,就相当于在复平面上振荡。

现在,一方面,这非常奇怪,因为很明显,弹簧上的质量需要一个实值解,而不是这些复变函数。但另一方面,振荡的概念也符合你想要找到的东西。而且在数量上也与之相匹配。试想一下,如果将该值 k 平均值增大,意味着弹簧的强度增加了。那么,欧米茄就会上升。因此,这相当于更快的振荡。你的身体直觉也证明了这一点。更强的弹簧可能会使摆动更快。

即便如此,坦率地说,结果还是让人感觉怪异,甚至明显是无稽之谈。我的意思是,弹簧上质量的位置显然是一个实数。如果你把视角放大,其实这里发生的事情是,我们发现对于这个脱离任何物理的纯数学方程,存在一个复值函数可以求解,即 e^(i * omega * t)。要把这个纯数学答案与实际物理联系起来,就需要从中挤出一个实值解来。屏幕上的动画可以让你了解如何做到这一点。你可以忽略虚部,只考虑这个解决方案中确实有效的实部。

不过,一个更好的思考方法,也是我想在这里讲述的整个拉普拉斯变换故事的方法,就是把我们刚刚找到的两个不同的复杂解相加。将这些旋转矢量首尾相加,结果就会保持在实数线上。事实上,随着时间的推移,它在数线上摆动的方式看起来就像是同一频率项乘以 T 的余弦值的 2 倍函数。现在,之所以允许将两个不同的解这样相加来得到另一个解,是基于我们方程的一个关键属性。

这就是我们所说的线性方程,也就是说,如果有两个不同的函数可以求解这个方程,那么将这两个函数相加,这两个函数的和也可以求解这个微分方程。实际上,你还可以有更多的灵活性。如果用某个常数将这些函数逐一缩放并相加,那么缩放后的和也是方程的解。请记住,在解这样的方程时,我们不只是在寻找一个函数,甚至是两个函数。我们要找的是取决于初始条件的一系列解。

在这种情况下,当我们尝试了我们公认的随机猜测后,由于是线性的,数学运算给我们带来了两个不同的函数,你可以用某个常数对每个函数进行缩放,然后将它们相加,就得到了方程的有效解。而且这些比例系数不一定是实数。这些数字也可以是复数,在这种情况下会影响每个旋转矢量的初始角度。通过调整这两个系数可以得到的所有可能函数的族,就是原方程所有可能解的族。而这些解决方案大多是复杂的有值函数。但真正有价值的解决方案是其中的一个特例。

至于你想要哪一种,则取决于初始条件。例如,如果初始位置应该是 2,初始速度应该是 0,那么只要将这两个系数都设为 1,就能得到有效的答案。如果初始位置不同,则只需将这两个常数按相同的量进行缩放即可。现在,从目前的表述来看,如果这是在举例说明为什么复指数是一种自然的、可取的东西,那么你们中的一个人就有理由抱怨了。这一切复杂得没有必要!

如果所谓的策略只是猜测某个带有自由参数的函数,那么在这种情况下,猜测余弦或正弦可以求解方程并不难,你可以让频率项成为你要求解的自由参数。如果你知道如何猜测,你会发现余弦或正弦都能完全解出这个方程,只要你将频率设为 k 的平方根大于 m。这也是描述解决方案系列的另一种有效方式。本质上,我们是在用另一种坐标系来描述它。当我们关心真正的解决方案时,你可以说这是一个更合理的坐标系。因为在这种情况下,只要将这些缩放系数设为实数,就能得到所有的实解。

这样不是更合理吗?为什么要用复数把事情复杂化?当我们试图将事情一般化时,将指数放在前面和中心位置的价值就显而易见了。到目前为止,当我们求解 s 时,我们在复平面上得到了这两个不同的值,它们都受限于虚线。当你改变 k 和 m 这两个常数时,你会得到不同的假想值,而这些假想值对于你的解决方案来说,与你得到的振荡中的不同频率相对应。但是,如果我们重新引入阻尼系数 mu,将其设置为不等于零的值,想想这意味着什么。

那么,在这种情况下,解方程就像是应用二次方程式。在这里,你不必纠结于代数的细节。我将继续向大家展示,如果我增大系数 mu 的值,S 的两个相应解会在复平面上出现在哪里。其显著特点是,它们不仅有虚成分,还有负实成分。就在几分钟前,我们讨论了如果你想对一个有负实部和虚部的东西进行指数化处理,它既会衰减又会振荡,实部告诉你它衰减了多少,虚部告诉你它振荡了多少。

在这种情况下,我将为你绘制该指数的实际分量图,它与你对弹簧的预期相吻合。有一件事其实很有趣,那就是如果你将阻尼系数亩增加到足够大,最终解不再有任何虚部,而只有实部,这意味着解看起来就像衰减一样。当这种情况发生时,就会出现弹簧阻尼过大。整个例子被称为阻尼谐振子。就像我说的,它是整个物理学的基础,所以只要理解它本身就足够了。

但是,这种愚蠢的小把戏究竟能让我们走多远?对于任何类似这样的方程,你都可以直接将其归纳为:取一堆高阶导数,每个导数都按一定的常数缩放,然后将它们相加,再将结果设为零。在这种情况下,我们刚才所做的一切本质上都是一样的。如果用 x 代替 e^(st),那么所有这些导数项看起来都是一样的,只是每个导数项都多了一个 s 因子。这样就可以把所有的指数部分都因数分解掉,得到一个希望等于零的 s 多项式。

代数学中最基本的事实之一,也就是所谓的代数基本定理,就是多项式总是可以像这样被分解成线性项,从而在方程中暴露出 n 个根,只要你给这些根以取复数值的自由。因此,举例来说,如果这是一个五次方程,在 S 平面上的解可能是这样的。就像振荡器的例子一样,这基本上是数学在告诉你:嘿,只要你设置 s 等于这些值之一,e^(st) 绝对是一个有效的解。和以前一样,这是一个线性方程。因此,你可以通过对每个指数进行缩放并相加,找到所有解的族。所有这些常量就像旋钮和刻度盘,你可以随心所欲地调整。它们可以是实数,也可以是复数,从而影响每个项的振幅和相位。具体数值取决于您的初始条件。在涉及重复路线时,我略去了一些细微差别,但总体思路是这样的。遗憾的是,现实世界中的大多数方程都不是这样的简单线性方程。例如,阻尼谐波振荡器的方程其实以前在本频道的一个关于光学的视频中出现过,但它有一个转折。

我们正在研究为什么光在玻璃等介质中会变慢,导致折射。关键问题是要理解为什么这取决于光线的颜色,从而产生三棱镜的效果。现在,我不打算在这里重述所有细节,但你需要知道的是,在那段视频的深处,我们将材料(如玻璃)内部的电荷建模为小阻尼谐波振荡器。这些在某个平衡位置摆动的小电荷受到了外力的影响,在这种情况下,外力是传入的光波,它以正弦波的形式上下摆动。更重要的是,入射光的频率一般与振荡器的自然共振频率无关。因此,简而言之,我们研究的是同一个等式,但增加了一个看起来像某个余弦表达式的项。现在,与线性情况不同的是,这里的解的族并不像指数的线性组合那么简单,你可以随心所欲地调整所有这些常数。而这种猜测 e^(st) 的笨办法肯定是行不通的。然而,我们在这里讨论的一切实际上比你想象的要更接近你的目标。在这种更复杂的情况下,解恰好看起来像四个特定指数的组合。

只是,与线性情况不同的是,你不能随意调整所有系数。它的局限性更大。事实上,三棱镜例子的全部实质就在于了解这些系数作为入射光频率的函数到底有多大。这是一种令人惊讶的常见结果,即现实世界中出现的某些微分方程的解看起来就像指数的某种组合,但具有特定的系数。正因为指数无处不在,工程师们才能直观地了解 S 平面上的点,以及它们如何编码增长、衰减和振荡。你可以把这些函数、e^(st) 想象成微积分的原子。我的意思是,描述我们世界的复杂函数通常可以分解成这些部分。只要你给它自由,让它接受复杂的价值观,通过这样的分解,它们就会变得更容易理解和研究。如果允许无穷组合,这一点就变得尤为正确,有可能是连续的 s 值,而不是某个离散的集合。我们将深入探讨这个想法,它的力量有多大,怎么强调都不为过。

问题的关键在于,给定某个未知函数和一个描述它的微分方程,即使你假设它可以像这样分解成指数部分,你实际上如何找到这些部分是什么?以强制谐波振荡器为例:你怎么知道解是由四个特定的指数构成的?如何求出指数中 s 的适当值?如何求解特定初始条件下的相应系数?有一种工具可以完成这项工作,你可能已经猜到了,它就是拉普拉斯变换。如果你看过前面关于傅里叶级数的章节,我在这里说的很多内容可能会让你印象深刻:虚指数描述了一种旋转,将一般函数分解为这些旋转指数之和。这其中绝对有联系。我想讲的故事的一个重要部分是,我们正在建立的拉普拉斯变换如何扩展了傅里叶级数和傅里叶变换的概念,并将其应用于更广泛的函数系列。在接下来的两章中,我们将详细介绍更多内容,但这里只是一个高水平的预览。当你使用拉普拉斯变换来求解微分方程时,它实际上与代入 e^(st) 的愚蠢技巧非常相似。

在我们的哑谜游戏中,微分方程变成了代数,基本上是因为导数的取法等同于 s 的乘法,至少对这些特定函数来说是这样。使用拉普拉斯变换时也会发生同样的情况,而且原因基本相同。这一操作是将函数转换成一种新的语言,在这种语言中,微积分的原子--这些术语 e^(st) 是基本单位。话又说回来,对于这些项来说,时间微分看起来就像 s 乘法,这意味着在这种新语言中,导数开始看起来很像乘法,微分方程开始看起来像代数。要了解这种变换的具体定义,如何将其可视化,以及如何用它来具体求解一个非线性方程,请跟我一起看下一章。在我发表这篇文章的时候,Patreon 上已经提供了下一章的早期视图,我的计划是在下周之前采纳反馈意见并推出最终版本。到时候见