最美的公式:你也能懂的麦克斯韦方程组(微分篇)
The following article is from 长尾科技 Author 长尾君
在上一篇文章《最美的公式:你也能懂的麦克斯韦方程组(积分篇)》里,我们带着大家从零开始一步一步认识了麦克斯韦方程组的积分形式,这篇文章我们就来看看它的微分形式。
在积分篇里,我们一直在跟电场、磁场的通量打交道。我们任意画一个曲面,这个曲面可以是闭合的,也可以不是,然后我们让电场线、磁感线穿过这些曲面,它们就两两结合形成了四个积分形式的方程组。从这里我们能感觉到:麦克斯韦方程组的积分形式是从宏观角度来描述问题,这些曲面都是宏观可见的东西。那么微分形式呢?微分形式似乎应该从微观角度去看问题,那么我们要怎样把曲面、通量这些宏观上的东西弄到微观里来呢?
在积分篇里,我们是这样描述静电的:我在空间里任意画一个闭合曲面,那么通过闭合曲面的电场线的数量(电通量)就跟这个曲面包含的电荷量成正比。用公式表述就是这样:
这就是积分形式的高斯电场定律:左边表示通过闭合曲面S的电通量(E是电场强度,我们把面积为S的闭合曲面分割成许多小块,每一个小块用da表示,那么通过每一个小块面积的电通量就可以写成E·da。套上一个积分符号就表示把所有小块的电通量累加起来,这样就得到了通过整个闭合曲面S的电通量),右边那个带了enc下标的Q就表示闭合曲面包含的电荷量,ε0是个常数。这些内容我在积分篇里都详细说过了,这里不再多言。
这里会涉及一丢丢极限的概念,我们这样考虑:一个闭合曲面缩小到无穷小,其实就是它的表面积或者体积无限趋向于0。也就是说,我假设有一个球的体积为ΔV,然后让这个ΔV无限趋近于0,那这样就可以表示这个球缩小到无穷小了。用数学符号可以记成这样:
Lim就是英文单词极限(limit)的缩写,ΔV通过一个箭头指向0可以很形象的表示它无限趋近于0。有了这个极限的概念,我们就可以很自然的表示通过这个无穷小曲面的电通量了(直接在电通量的前面加个极限符号),这时候高斯电场定律就成了这样:
这样,我们就把高斯电场定律从宏观拉到了微观:方程的左边表示曲面缩小到无穷小时的电通量,方程的右边表示无穷小曲面包含的电荷量。但是,当曲面缩小到无穷小的时候,我们再使用电荷量Q就不合适了,所以我们改用电荷密度(符号为ρ)。电荷密度,从名字里我们就能猜出它表示的是单位体积内包含电荷量的大小,所以它的表达式应该是用电荷量除以体积,即:ρ=Q/V。
所以,如果我们把微观的高斯电场定律左右两边都同时除以体积ΔV,那么右边的电荷量Q除以体积Δ就变成了电荷密度ρ,左边我们也再除以一个ΔV,那么公式就变成了下面这样:
公式的右边除以一个体积ΔV,就成了电荷密度ρ除以真空介电常数ε0,那左边呢?左边原来是通过无穷小曲面的电通量,这玩意除以一个体积ΔV之后表示什么呢?这一长串的东西,我们给它取了个新名字:散度。
也就是说,电场E在一个点(被无穷小曲面围着的这个点)上的散度被定义为电场通过这个无穷小曲面的电通量除以体积。散度的英文单词是divergence,所以我们通常就用div(E)表示电场E的散度,即:
所以,高斯电场定律的微分形式就可以表示成这样:
它告诉我们:电场在某点的散度跟该点的电荷密度成正比。
在这种新的表示方法里,电场E的散度可以被写成这样:▽·E,所以我们就可以用这个东西替换掉方程左边div(E),那么麦克斯韦方程组的第一个方程——描述静电的高斯电场定律的微分形式就可以写成这样:
这样写的话,是不是就感觉熟悉多了?也就是说,同样是为了表示散度,我们用▽·E代替了代替了原来无穷小曲面通量和体积比值那么一大串的东西。而且这样还非常好计算,使用这种新的方式,你只要给出一个电场,我分分钟就可以把电场的散度写出来。这种倒三角▽符号,绝对是符号简化史上的奇迹。
所以,我接下来的工作,或者说理解麦克斯韦方程组的微分形式的核心内容,就是要来告诉大家这个倒三角▽符号到底是什么意思,▽·(后面加了一个点)又是什么意思?为什么▽·E可以表示电场E的散度就?为什么▽·E跟我们前面散度的定义div(E)是等价的?也就是说:
为什么上面的式子是相等的,而且都可以用来表示电场E的散度?
在这里,我稍微解释一下Δy和dy的区别:如下图所示,我们假设函数在x轴上有一个增量Δx,这个用Δx或者dx表示都一样,两者相等。但是,这个在x轴上的变化带来的y轴上的变化就不一样了:Δy表示的是y轴实际的变化量,是我用前后两个不同的x对应的y值直接相减得到的真实结果;而dy则不是,dy是我们在M点做了一条切线,然后我用这条直线来代替曲线,当x轴上变化了Δx的时候这条直线上对应y上的变化。
从这个图里我们可以看到:Δy的值是要比dy大一点点的,但是随着Δx或者dx的减小,它们的之间的差值会急速减小,比Δx减小的快得多,这个差值也是我们常说的高阶无穷小。Δy叫做函数从一点到另一点的增量,而dy则被叫做函数的微分,或者叫它的线性主部。“以直(dy)代曲(Δy)”是现代微积分的一个核心思想,从这个图里可见一斑。
在微积分刚创立的时候,莱布尼茨把dx看作一个接近0但又不等于0的无穷小量,这种“朴素”的思维很符合直觉,而且用这种思想来计算也没什么错,但是它的基础是非常不牢固的。正是这种幽灵般的无穷小量dx(时而可以看作是0,时而可以当除数约分)导致了第二次数学危机,数学家们经过一个多世纪的抢救才给微积分找到了一个坚实的地基:极限理论。
这段内容不是太理解没关系,只要知道我们可以用dy/dx表示函数在M点的导数(在这里就是切线的斜率),可以用它来表示图像在这里变化的快慢就行了。
再回到人的身高随年龄变化的这个例子里来。人在各个年龄t都会对应一个身高y,这每个(t,y)就对应了图上的一个点,把这些点全都连起来大致就能得到这样一个图:
在导数dy/dt大的地方,图形里的斜率很大,通俗的说就是曲线很陡峭;而导数很小的地方,对应的曲线就很平缓。
比如山的高度,一座山在不同点的高度是不一样的,而在地面上确定一个点的位置需要经度和纬度两个信息。或者,你可以自己在地面上建立一个坐标系,然后地面上每一个点都可以用(x,y)来表示。因为每一个位置(x,y)都对应了那个地方山的高度z,那么z就成了一个关于x和y的函数,记做z=f(x,y)。因为山的高度z需要两个变量x和y才能确定,所以我们说z=f(x,y)是一个二元函数。
我们再来回过头来看看导数,在一元函数y=f(t)里,我们用dy/dt来表示这个函数的导数,导数越大的地方曲线变化得越快。因为一元函数的图像是一条曲线,曲线上的一个点只有一个方向(要么往前,要么往后,反正都是沿着x轴方向),所以我们可以直接用dy/dt表示函数变化得有多快。但是,如果这个函数不是一元函数,而是二元、三元等多元函数呢?
比如山的高度z是关于位置x,y的二元函数z=f(x,y),这时候地面上的每一个点(x,y)都对应一个值,它的函数图像就是一个曲面(如山的表面),而不再是一条曲线。而曲面上的每一个点有无数个方向(前后左右360°都可以),x和y只是这无数方向中的两个,那我们要如何把握这无数个方向上的高度变化快慢呢?
那么我们要如何表示函数z沿着x轴方向变化的快慢呢?直接用dz/dx么?好像不太对,因为我们的z是一个关于x和y的二元函数,它的变量有两个,你这样直接dz/dx合适么?合法么?但是,如果我在考虑x轴方向的时候,把y看作一个常数,也就是把y轴固定住,这样函数z就只跟x相关了,于是我们就把一个二元函数(曲面)变成了一个一元函数(曲线)。
如上图所示,当我们固定y=1的时候,这个曲面就被这个y=1的平面切成了两半,而平面与曲面相交的地方就出现了一条曲线。这条曲线其实就是当我固定y=1的时候,函数z的图像,只不过这时候z只跟x一个变量有关,所以它变成了一个一元函数。于是,我们就可以仿照一元函数的方法定义导数了,也就是说:我们在z=f(x,y)上无法直接定义导数,但是如果我们把y固定起来了,这时候二元函数的曲面就变成了一元函数的曲线,那么我们就在曲线上定义导数了。这种把y的值固定在某个地方,然后计算函数在x轴方向上的导数,叫作关于x的偏导数,记做∂z/∂x。同样,如果我们把x的值固定,计算函数在y轴方向上的导数,那自然就是关于y的偏导数,记做∂z/∂y。
有了偏导数的概念,我们就有办法写出dz和dx、dy之间的关系了。在一元函数里,导数是dy、dt,我们自然就可以写出dy和dt之间的关系:
那么,到了二元函数z=f(x,y)的时候呢?我们想象有个人在山的一点要往另一点爬,我们让他先沿着x轴的方向爬(也就是固定住y的值),假设他沿x轴移动了dx。根据上面偏导数的定义,如果我们把y 的值固定了,那么他在x轴方向上的导数是可以用偏导数∂z/∂x来表示,那么在他沿着x轴移动的时候,他上升的高度就可以写成(∂z/∂x)·dx。同样,接下来他沿着y轴方向走的时候,他上升的高度就可以写成(∂z/∂y)·dy。我们把这两个部分上升的高度加起来,不就得到了最终爬山的高度变化dz的了么?也就是说:
这个公式我们可以把它做作全微分定理,它其实是对上面一元函数导数关系的一个自然推广。它告诉我们,虽然在曲面的一个点上有无数个方向,但是只要我们掌握了其中x和y两个方向上的偏导数,我们就能把握它的函数变化dz。还原到爬山的这个例子上来,这个公式是在告诉我们:如果我知道你沿着x轴和y轴分别走了多少,然后我知道你这座山在x轴和y轴方向的倾斜度(即偏导数)是多少,那我就知道你爬山的纯高度变化有多少(又是几近大废话~)。
两个矢量OA、OB的点乘被定义为:OA·OB=|OA||OB|Cosθ(矢量的表示原本是在它头顶上加一个箭头,但是这里不方便这样表示,那就用黑体表示了)。它表示一个矢量OA在另一个矢量OB上的投影OC(OC=|OA| Cosθ)和另一个矢量的大小的乘积,可见两个矢量点乘之后的结果是一个标量(只有大小没有方向)。
这些内容我在上一篇都已经说了,这篇文章我们再来看看矢量点乘的几个性质。
一个矢量有大小又有方向,我们通常是用一个箭头来表示的,箭头的方向就代表了矢量的方向,而箭头的长短就代表了矢量的大小。如果我们这时候建立一个坐标系,把这个箭头的一端移动到坐标原点,那么箭头的另一端就会固定在坐标系的某个点上,这样的话,我们就可以用一个坐标点来表示一个矢量了。
如上图,A点的坐标是(4,3),那么这个矢量OA就可以记为(4,3)。然后,我们把矢量OA沿着x轴y轴做一个分解:
于是,我们的矢量OA就可以表示成:OA=OB+OC(矢量的加法就是把两个矢量首尾相连,所以OB+BA=OA,而BA=OC,所以有上面的结论)。这时候,如果我们在x轴上定义一个单位向量x(1,0),那么OB的长度是x长度的四倍,而他们的方向又一样,所以矢量OB=4x。同样,在y轴上定义一个单位向量y(0,1),那么OC=3y。那么,我们的OA就可以重新写成:OA=OB+OC=4x+3y。
对于很多高中生来说,这只是一个熟悉得不能再熟悉的结论,但是我还是从头到尾给大家扎扎实实的推导了一遍。长尾科技不喜欢那种凭空突然冒出一个结论的感觉,所以我也希望读者看我的文章,每个结论得出来都是踏踏实实的,都是严密的逻辑推导出来的。这个式子有什么用呢?我们看看它的后面一半(带箭头的x,y表示矢量,对应上面公式里的黑体x,y):
再对比一下我们上面推导出来的全微分定理:
这个全微分定理的右边跟矢量点乘的右边是不是很像?都是两个量相乘然后把结果加起来。如果我们把dx看作x2,dy看作y2,两个偏导数看作x1和y1,那么我们就可以按照这个点乘的公式把这个全微分定理拆成两个矢量点乘的样子,即dz可以写成这样:
于是,dz就被我们拆成了两个矢量点乘的样子,我们再来仔细看看这两个矢量:右边的这个矢量的两个分量分别是dx和dy,这分别是我沿着x轴和y轴分别移动无穷小的距离,它们相加的结果用dl来表示:
而左边呢,左边这个矢量的两个分量分别是函数z=f(x,y)对x和y的两个偏导数,这个我们也用一个新的符号来表示它:
绕了这么久,我们现在终于看到这个▽符号了,这个▽z的名字就叫:z的梯度。
把左右两边的矢量都单独拎出来之后,我们就可以把原来的式子写成更简单的样子:
这一段信息量有点大,对于没接触过矢量分析的人来说可能会稍有不适。我们前面绕那么大弯子讲全微分dz,讲矢量的点乘,都是为了引出这个式子,然后从中提炼出梯度▽z的概念。不是很理解的朋友可以好好再看一看上面的文章,再想一下,长尾君基本上是从零开始一步一步写到这里来的,只要耐心看肯定能看懂~
上面我们已经得到了dz=▽z·dl,把dz表示成了两个矢量的点乘,那我们再根据矢量点乘的定义把它们展开,就可以写成这样:
这个dz则表示山的高度的一个微小变化,那么,沿着哪个方向走这个变化是最快的呢?也就是说我选择哪个方向会使得dz的变化最大?
两个矢量的夹角等于0是什么意思?那就是这两个矢量的方向一样啊。也就是说:如果我们移动的方向(dl的方向)跟梯度▽z的方向一致的时候,dz的变化最大,我们高度变化最大。这就告诉我们:梯度▽z的方向就是高度变化最快的方向,就是山坡最陡的方向。
假设你站在一个山坡上四处遥望,那个最陡的地方就是梯度的方向,如果你去测量这个方向的斜率,那这就是梯度的大小。所以,梯度这个名字还是非常形象的。
我们再仔细看一下梯度▽z的表示:
这是一个矢量,但是它看起来好像是▽和一个标量z“相乘”,我们把这个z提到括号的外面来,这时候这个梯度▽z就可以写成这样:
所以,如果把▽单独拎出来,就得到了这样一个东西:
这个东西就值得我们玩味了,这是啥?▽z表示的是二元函数z=f(x,y)的梯度,也就是说我们先有一个函数z,然后我们把这个▽往函数z前面一放,我们就得到z的梯度。从函数z得到z的梯度的具体过程就是对这个函数z分别求x的偏导和y的偏导。
也就是说,单独的▽是这么个东西:我▽自己本身并不是什么具体的东西,我需要你给我一个函数,然后我对你这个函数进行一顿操作(求x和y的偏导),最后返回一个这个函数的梯度给你。这就像是有一个特定功能的模具:你给我一堆面粉,我一顿处理之后返回你一个饼。但是显然的,它并不是面粉,也不是饼,它单独的存在没有什么意义,它一定要跟面粉结合才能产生有具体意义的东西。
这种东西叫算子,▽就叫▽算子。基于▽算子的巨大影响力,它又有一大堆其他的名字:从它的具体功能上来看,它被称为矢量微分算子;因为它是哈密顿引入进来的,所以它又被称为哈密顿算子;从读音上来说,它又被称为nabla算子或者del算子。这些大家了解一下,知道其他人在谈论这个的时候都是在指▽算子就行了。
1、矢量A和一个标量a相乘:aA。比如我把一个矢量A大小变为原来的2倍,方向不变,那么这时候就可以写成2A;
2、矢量A和一个矢量B进行点乘:A·B。这个点乘我们上面介绍很多了,A·B=|A||B|Cosθ,这里就不说了;
那么,同样的,我们的▽算子也有3种作用方式:
1、▽算子作用在一个标量函数z上:▽z。这个▽z我们上面说过了,它表示函数z的梯度,它表示这个函数z变化最快的方向;
2、▽算子跟一个矢量函数E点乘:▽·E。这就表示E的散度,我们开篇讲的高斯电场定律的左边就是电场E的散度,它就是表示成▽·E这样;
这样,我们就以一种很自然的方式引出了这三个非常重要的概念:梯度(▽z)、散度(▽·E)和旋度(▽×E)。大家可以看到,▽算子的这三种作用跟矢量的三种乘法是非常相似的,只不过▽是一个算子,它必须作用在一个函数上才行,所以我们把上面的标量和矢量换成了标量函数和矢量函数。
当我们把电场的散度写成▽·E这样的时候,我们会觉得:啊,好简洁!但是我们也知道▽算子的定义是这样的:
那么▽·E就应该写成这样:
而我们知道电场E其实是一个矢量函数(不同点对应的电场的情况),那我们还是可以把E分解成x,y两个分量的和,这两个分量后面跟一个x和y方向的单位向量就行了。那么,上面的式子就可以写成这样:
然后,因为矢量点乘是满足分配律的,所以我们可以把他们按照普通乘法一样展开成四项。而x和y是垂直的单位向量,所以x·y=y·x=0,x·x=y·y=1,然后我们最后剩下的就只有这两项了(这一块的推导逻辑跟“坐标系下的矢量点乘”那一节一样,觉得有点陌生的可以再返回去看看那一部分):
这就是电场E的散度的最终表达式,它的意思很明显:我们求电场E的散度就是把矢量函数E分解成x和y方向上的两个函数,然后分别对它们求偏导,最后再把结果加起来就行了。
我们是从麦克斯韦方程组的积分形式引入散度的。高斯电场定律说通过一个闭合曲面的电通量跟这个闭合曲面包含的电荷量成正比,而且这个曲面可以是任意形状。然后我们为了从宏观进入微观,就让这个曲面不停地缩小缩小,当它缩小到无穷小,缩小到只包含了一个点的时候,这时候我们就说通过这个无穷小曲面的通量和体积的比就叫散度(用div表示)。
也就是说,我们最开始从无穷小曲面的通量定义来的散度和我们上面通过偏导数定义来的散度▽·指的是同一个东西。即:
此外,跟梯度一样,散度这个名字也是非常形象的。很多人会跟你说散度表示的是“散开的程度”,这种说法很容易让初学者误解或者迷惑,比如一个正电荷产生的产生的如下的电场线,它看起来是散开的,所以很多就会认为这里所有的点的散度都是不为零的,都是正的。
但是,根据我们上面分析,散度反映的是无穷小曲面的通量,这直接跟这一点是否有电荷对应。那么,这个图的中心有一个正电荷,那么这点的散度不为零没毛病,但是其他地方呢?其他地方看起来也是散开的,但是其他地方并没有电荷,没有电荷的话,其他点电场的散度就应该为0(因为这个地方无穷小曲面的通量有进有出,它们刚好抵消了),而不是你看起来的好像是散开的,所以为正。
你可以这么操作:你把电场线都想象成水流,然后拿一个非常轻的圆形橡皮筋放到这里,如果这个橡皮筋的面积变大,我们就说这个点的散度为正,反正为负。如果你把橡皮筋丢在电荷所在处,那么这点所有方向都往外流,那么橡皮筋肯定会被冲大(散度为正);但是在其他地方,橡皮筋会被冲走,但是不会被冲大(散度为0),因为里外的冲力抵消了。这样的话,这种散开的模型跟我们无穷小曲面的通量模型就不再冲突了。
说了这么多,又是证明不同散度形式(无穷小曲面的通量和▽·)的等价性,又是说明不同散度理解方式的同一性(无穷小曲面的通量和散开的程度),都是为了让大家从更多的维度全方位的理解散度的概念,尽量避开初学者学习散度会遇到的各种坑。理解了这个散度的概念之后,我们再来看麦克斯韦方程组的第一个方程——高斯电场定律的微分形式就非常容易理解了:
方程的左边▽·E表示电场在某一点的散度,方程右边表示电荷密度ρ和真空介电常数的比值。为什么右边要用电荷密度ρ而不是电荷量Q呢?因为散度是无穷小曲面的通量跟体积的比值,所以我们的电量也要除以体积,电量Q和体积V的比值就是电荷密度ρ。对比一下它的积分形式:
两边都除以一个体积V,然后曲面缩小到无穷小:左边的通量就变成了电场的散度▽·E,右边的电荷量Q就变成了电荷密度ρ,完美!
理解了高斯电场定律的微分形式,那么高斯磁场定律的微分形式就能轻松写出来了。因为现在还没有找到磁单极子,磁感线都是闭合的曲线,所以闭合曲面的磁通量一定恒为0,这就是高斯磁场定律积分形式的思想:
那么,我们一样把这个曲面缩小到无穷小,通过这个无穷小曲面的磁通量就叫磁场的散度,那么方程的左边就变成了磁场的散度,而右边还是0。也就是说:磁场的散度处处为0。所以,麦克斯韦方程组的第二个方程——高斯磁场定律的微分形式就是:
法拉第定律是法拉第对电磁感应现象的一个总结,他发现只要一个曲面的磁通量(B·a)发生了改变,那么就会在曲面的边缘感生出一个旋涡状的电场E出来。这个旋涡状的感生电场我们是用电场的环流来描述的,也就是电场沿着曲面边界进行的线积分。
用具体的公式表示就是这样:
公式左边是电场E的环流,用来描述这个被感生出来的电场,而公式的右边是磁通量的变化率,用来表示磁通量变化的快慢。
也就是说,我们让▽算子以叉乘的方式作用在电场E上,我们就得到了电场E的旋度▽×E,而这个旋度的另一种定义就是我们上面说的无穷小非闭合曲面的环流和这个曲面的面积之比。因为旋度的英文单词是curl,所以我们用curl(E)表示电场的旋度。所以,我们就可以写下下面这样的式子:
跟散度的两种定义方式一样,我们这里的旋度也有▽×和无穷小曲面的环流两种表述方式。在散度那里,我给大家证明了那两种散度形式等价性,在旋度这里我就不再证明了,感兴趣的朋友可以按照类似的思路去尝试证明一下。
从它们的几何意义来说,点乘表示的是投影,因为|OA|Cosθ刚好就是OA在OB上的投影,也就是OC的长度。如下图:
那么叉乘呢?叉乘是|OA|Sinθ,这是AC的长度,那么|A×B|=|A||B|Sinθ=|AC||OB|,这是啥?这是面积啊,如果我以OA和OB为边长作一个平行四边形,那么AC就刚好是这个平行四边形的高,也就是说,矢量A和B的叉乘(|A×B|=|AC||OB|)就代表了平行四边形OADB的面积。
关于矢量的叉乘就说这么多,在前面讲矢量点乘的时候我还详细介绍了点乘的性质和坐标运算的方法,那是因为为了自然的引出▽算子,不得不讲那些。叉乘也有类似的性质和坐标运算的法则,这个在网上随便一搜或者找一本任意矢量分析的书都能找到。而且,你现在不会熟练的进行叉乘运算,并不会影响你对麦克斯韦方程组的微分形式的理解,这里了解一下它的定义和几何意义就行了。
好,知道了矢量的叉乘,知道了▽×E可以表示电场的旋度,而且知道旋度的定义是:无穷小非闭合曲面的环流和这个曲面的面积之比。那我们再来回过头看一看法拉第定律的积分形式:
公式的左边是电场的环流,右边是磁通量的变化率,它告诉我们变化的磁通量会在曲面边界感生出电场。我在积分篇里说过,磁通量(B·a)的变化可以有两种方式:磁场(B)的变化和通过曲面面积(S)的变化,我们上面这种方式是把这两种情况都算在内。但是,还有的学者认为只有磁场(B)的变化产生的电场才算法拉第定律,所以法拉第定律还有另外一个版本:
这个版本的把原来对整个磁通量(B·da)的求导变成了只对磁感应强度B的求偏导,这就把磁感线通过曲面面积变化的这种情况给过滤了。
我们现在假设把那个曲面缩小到无穷小,方程的左边除以一个面积ΔS,那就是电场的旋度▽×E的定义:
左边除了一个面积ΔS,那右边也得除以一个面积,右边本来是磁感应强度的变化率(∂B/∂t)和面积的乘积,现在除以一个面积,那么剩下的就是磁感应强度的变化率∂B/∂t了。那么,麦克斯韦方程组的第三个方程——法拉第定律的微分形式自然就是这样:
简洁吧?清爽吧?这样表示之后,法拉第定律的微分形式看起来就比积分形式舒服多了,而且它还只有这一种形式。直接从方程上来看,它告诉我们某一点电场的旋度等于磁感应强度的变化率。简单归简单,要理解这种公式,核心还是要理解左边,也就是电场的旋度▽×E。
我们知道旋度的定义是无穷小曲面的环流和面积的比值,但是它既然取了旋度这个名字,那么它跟旋转应该还是有点关系的。我们变化的磁场感生出来的电场也是一个旋涡状的电场。那么,是不是只要看起来像漩涡状的矢量场,它就一定有旋度呢?
这个问题我们在讨论散度的时候也遇到过,很多初学者认为只要看起来发散的东西就是有散度的,然后我们通过分析知道这是不对的。一个点电荷产生静电场,只要在电荷处散度不为零的,在其他地方,虽然看起来是散开的,其实它的散度是零。如果我们放一个非常轻的橡皮筋在上面,除了电荷所在处,其它地方这个橡皮筋是不会被撑开的(即便会被冲走),所以其他地方的散度都为零。
跟散度一样,我们不能仅凭一个感生电场是不是旋转状的来判断这点旋度是否为0,我们也需要借助一个小道具:小风车。我们把一个小风车放在某一点上,如果这个风车能转起来,就说明这点的旋度不为0。你只要把风车放在感生电场中心以外的地方,就会发现如果外层的电场线让小风车顺时针转,内层的电场线就会让小风车逆时针转,这两股力刚好抵消了。最终风车不会转,所以旋度为0。
如果大家能理解静电场除了中心点以外的地方散度处处为零,那么理解感生电场除了中心点以外的地方旋度处处为零就不是什么难事。在非中心点的地方,散度的流入流出两股力量抵消了,旋度顺时针逆时针的两股力量抵消了,为什么刚好他们能抵消呢?本质原因还是因为这两种电场都是随着距离的平方反比减弱。如果它们不遵守平方反比定律,那么你去计算里外的散度和旋度,它们就不再为零。
讲完了磁生电的法拉第定律,我们麦克斯韦方程组就只剩最后一个电生磁的安培-麦克斯韦定律了。它描述的是电流和变化的电场如何产生旋涡状的感生磁场的,因为它电的来源有电流和变化的电场两项,所以它的形式也是最复杂的。方程的积分形式如下(具体过程见积分篇):
左边的磁场的环流,右边是曲面包围的电流(带enc下标的I)和电场的变化率。它告诉我们,如果我们画一个曲面,通过这个曲面的电流和这个曲面里电通量的变化会在曲面的边界感生出一个旋涡状的磁场出来,这个旋涡状的磁场自然是用磁场的环流来描述。
这样,麦克斯韦方程组的第四个方程——安培-麦克斯韦定律的微分形式就自然出来了:
虽然还是有点长,但是相比积分形式已经是相当良心了,它告诉我们某一点感生磁场的旋度▽×B等于电流密度J和电场变化率∂E/∂t两项的叠加。其实它跟积分形式讲的都是一回事,都是在说电流和变化的电场能够产生一个磁场,只不过积分形式是针对一个曲面,而微分形式只是针对一个点而已。
至此,麦克斯韦方程组的四个方程:描述静电的高斯电场定律、描述静磁的高斯磁场定律、描述磁生电的法拉第定律和描述电生磁的安培-麦克斯韦定律的微分形式就都说完了。把它们都写下来就是这样:
高斯电场定律说电场的散度跟这点的电荷密度成正比。
这里最引入注目的就是▽算子了,它以点乘和叉乘的方式组成的散度▽·和旋度▽×构成了麦克斯韦方程组微分形式的核心,这也是为什么我要花那么大篇幅从偏导数、矢量点乘一步步给大家引出▽算子的原因。也因为如此,微分篇的数学部分比积分篇要多得多得多,相对也要难以理解一些,所以大家要稍微有耐性一点。
从思想上来讲,微分形式和积分形式表达的思想是一样的,毕竟它们都是麦克斯韦方程组。它们的差别仅仅在于积分形式是从宏观的角度描述问题,我们面对的宏观上的曲面,所以要用通量和环流来描述电场、磁场;而微分形式是从微观的角度来描述问题,这时候曲面缩小都无穷小,我们面对的东西就变成了一个点,所以我们使用散度和旋度来描述电场、磁场。
理解了这些,你再回过头去看看麦克斯韦方程组的积分形式:
我们只不过把定义在曲面上的通量和环流缩小到了一个点,然后顺势在这个点上用利用通量和环流定义了散度和旋度。因为定义散度和旋度分别还除了一个体积和面积,所以我们积分方程的右边也都相应的除了一个体积和面积,然后就出现了电荷密度ρ(电荷Q除以体积V)和电流密度J(电流I除以面积S),电通量和磁通量那边除以一个体积和面积就剩下电场强度E和磁感应强度B的变化率,仅此而已。
此外,麦克斯韦方程组是真的很美,你掌握的物理知识越多,就会越觉得它美。我也更希望大家是因为它的美而喜欢这个方程组,而不仅仅是因为它的“重要性”。我们也都知道,麦克斯韦写出这套方程组以后,就从方程推导出了电磁波,当他把相关的参数代入进去算出电磁波的速度的时候,他惊呆了!他发现这个电磁波的速度跟人们实验测量的光速极为接近,于是他给出了一个大胆的预测:光就是一种电磁波。
可惜的是,英年早逝的麦克斯韦(48岁去世)并没能看到他的预言被证实,人类直到他去世9年后,也就是1888年才由赫兹首次证实了“光是一种电磁波”。那么,麦克斯韦是怎么从方程组导出电磁波的呢?既然我们已经学完了麦克斯韦方程组,想必大家也很知道如何从这套方程组推导出电磁波的方程,然后亲眼见证“电磁波的速度等于光速”这一奇迹时刻。这部分的内容,长尾科技下篇文章再说。
延伸阅读: