积分篇
2004年,英国的科学期刊《物理世界》举办了一个活动:让读者选出科学史上最伟大的公式。结果,麦克斯韦方程组力压质能方程、欧拉公式、牛顿第二定律、勾股定理、薛定谔方程等”方程界“的巨擘,高居榜首。
麦克斯韦方程组以一种近乎完美的方式统一了电和磁,并预言光就是一种电磁波,这是物理学家在统一之路上的巨大进步。很多人都知道麦克斯韦方程组,知道它极尽优美,并且描述了经典电磁学的一切。但是,真正能看懂这个方程组的人却不多,因为它不像质能方程、勾股定理这样简单直观,等式两边的含义一眼便知。毕竟,它是用积分和微分的形式写的,而大部分人要到大学才正式学习微积分。
不过大家也不用担心,麦克斯韦方程组虽然在形式上略微复杂,但是它的物理内涵确是非常简单的。而且,微积分也不是特别抽象的数学内容,大家只要跟着文章的思路,看懂这个“最伟大“的方程也不会是什么难事~
01. 电磁统一之路
电和磁并没有什么明显的联系,科学家一开始也是独立研究电现象和磁现象的。这并不奇怪,谁能想到闪电和磁铁之间会有什么联系呢?
1820年,奥斯特在一次讲座上偶然发现通电的导线让旁边的小磁针偏转了一下,这个微小的现象并没有引起听众的注意,但是可把奥斯特给高兴坏了。他立马针对这个现象进行了三个月的穷追猛打,最后发现了电流的磁效应,也就是说电流也能像磁铁一样影响周围的小磁针。
消息一出,物理学家们集体炸锅,立马沿着这条路进行深入研究。怎么研究呢?奥斯特只是说电流周围会产生磁场,那么这个电流在空间中产生的磁场是怎么分布的呢?比方说一小段电流在空间某个地方产生的磁感应强度的多大呢?这种思路拓展很自然吧,定性的发现某个规律之后必然要试图定量地把它描述出来,这样我不仅知道它,还可以精确的计算它,才算完全了解。
三个月,在奥斯特正式发表他的发现仅仅三个月之后,毕奥和萨伐尔在大佬拉普拉斯的帮助下就找到了电流在空间中产生磁场大小的定量规律,这就是著名的毕奥-萨伐尔定律。也就是说,有了毕奥-萨伐尔定律,我们就可以算出任意电流在空间中产生磁场的大小,但是这种方法在实际使用的时候会比较繁琐。
又过了两个月之后,安培发现了一个更实用更简单的计算电流周围磁场的方式,这就是安培环路定理。顺便,安培还总结了一个很实用的规律来帮你判断电流产生磁场的方向,这就是安培定则(也就是高中学的右手螺旋定则)。
至此,电生磁这一路的问题“似乎”基本解决了,我们知道电流会产生磁场,而且能够用安培环路定理(或者更加原始的毕奥-萨伐尔定律)计算这个磁场的大小,用安培定则判断磁场的方向。那么,我们现在知道怎么单独描述电和磁,知道了电怎么生磁,秉着对称的思想,我怎么样都要去想:既然电能够生磁,那么磁能不能生电呢?
由于种种原因,奥斯特在1820年发现了电生磁,人类直到11年后的1831年,才由天才实验物理学家法拉第发现了磁生电的规律,也就是电磁感应定律。法拉第发现磁能生电的关键就是:他发现静止的磁并不能生电,一定要变化的磁才能生电。
发现电磁感应定律之后,我们知道了磁如何生电,有了安培环路定理,我们就知道电流如何产生磁场。咋一看,有关电磁的东西我们好像都有解决方案了。其实不然,我们知道安培环路定理是从奥斯特发现了电流周围会产生磁场这一路推出来的,所以它只能处理电流周围表示磁场的情况。
但是,如果没有电流呢?如果我压根就没有导线让你可以形成电流,如果仅仅是电场发生了变化,那么这样能不能产生磁场呢?大家不要觉得我胡搅蛮缠,你想想,根据电磁感应定律,变化的磁场是可以产生电场的。所以,我会反过来猜想变化的电场能否产生磁场并不奇怪。而这,正好是安培环路定理缺失的部分。
于是,麦克斯韦就对安培环路定理进行了扩充,把变化的电场也能产生磁场这一项也添加了进去,补齐了这最后一块短板。
到这里,电和磁的统一之路就走得差不多了,麦克斯韦方程组的基本形式也呼之欲出了。这里我先让大家考虑一下:我们都知道麦克斯韦方程组描述了经典电磁学的一切,而且它是由四个方程组成的。那么,如果让你选择四个方程来描述电磁里的一切,你大致会选择四个什么样的方程呢?
此处思考一分钟……
我不知道大家是怎么考虑的,反正我觉得下面这条思路是很自然的:如果要用四个方程描述电磁的一切,那么我就用第一个方程描述电,第二个方程描述磁,第三个方程描述磁如何生电,第四个方程描述电如何生成磁。嗯,好巧,麦克斯韦方程组就是这样的~
所以,我们学习麦克斯韦方程组,就是要看看它是如何用四个方程优雅自洽地描述电、磁、磁生电、电生磁这四种现象的。接下来我们就来一个个地看。
02. 库仑的发现
在奥斯特发现电流的磁效应之前,人类已经单独研究电研究了好长时间,人们发现电荷有正负两种,而且同性相斥,异性相吸。后来库伦发现了电荷之间相互作用的定量关系,它发现电荷之间的作用力跟距离的平方成反比的。也就是说,如果我把两个电荷之间的距离扩大为原来的两倍,这两个电荷之间的作用力就会减少为原来的四分之一,扩大为三倍就减少为九分之一。
这个跟引力的效果是一样的,引力也是距离扩大为原来的两倍,引力的大小减少为原来的四分之一。为什么大自然这么偏爱“平方反比”规律呢?因为我们生活在一个各向同性的三维空间里。
什么意思?我们可以想想:假设现在有一个点源开始向四面八方传播,因为它携带的能量是一定的,那么在任意时刻能量达到的地方就会形成一个球面。而球面的面积公式S=4πr²(r为半径),它是跟半径的平方r²成正比的,这也就是说:我们同一份能量在不同的时刻要均匀的分给4πr²个部分,那么每个点得到的能量就自然得跟4πr²成反比,这就是平方反比定律的更深层次的来源。
因此,如果我们生活在四维空间里,我们就会看到很多立方(三次方)反比的定律,而这也是科学家们寻找高维度的一个方法。许多理论(比如超弦理论)里都有预言高维度,科学家们就去很小的尺度里测量引力,如果引力在一个很小的尺度里不再遵循平方反比定律,那就很有可能是发现了额外的维度。
好了,从更深层次理解了静电力遵循平方反比定律后,要猜出静电力的公式就是很简单的事情了。因为很明显的,两个电荷之间的静电力肯定跟两者的电荷量有关,而且还是电荷越大静电力越大,加上距离平方反比规律,两个电荷之间的静电力大致就是下面这样的了:
这就是我们中学学的库伦定律:两个电荷之间的静电力跟两个电荷量的乘积成正比,跟它们距离的平方成反比,剩下的都是常数。q1、q2就是两个电荷的电荷量,ε0是真空的介电常数(先不管它是啥意思,知道是个跟电相关的常数就行了),我们熟悉的球面积公式S=4πr²赫然出现在分母里,这是三维空间平方反比规律的代表。
库伦定律是一个实验定律,也就说库伦做了很多实验发现两个电荷之间确实存在着一个这么大小的静电力,但是它并没有告诉你这个静电力是如何传递的。两个并没有接触的物体之间存在某种力,一个常见的想法就是这两个物体之间存在着某种我们看不见的东西在帮它们传递作用力,那么这种东西是什么呢?有人认为是以太,有人认为是某种弹性介质,但是法拉第说是力线,而且这种力线不是什么虚拟的辅助工具,而是客观的物理实在。它可以传递作用力,也可以具有能量。这些思想慢慢形成了我们现在熟知的场。
03. 电场的叠加
有了场,我们就可以更加细致的描述两个电荷之间的相互作用了。为什么两个电荷之间存在这样一个静电力呢?因为电荷会在周围的空间中产生一个电场,这个电场又会对处在其中的电荷产生一个力的作用。这个电场的强度越大,电荷受到的力就越大,正电荷受力的方向就是这点电场的方向。所以,电场具有大小和方向,这是一个矢量。
为了直观形象的描述电场,我们引入了电场线。电场线的密度刚好就代表了电场强度的大小,而某点电场线的切线方向就代表了该处电场的方向。一个正电荷就像太阳发光一样向四周发射电场线,负电荷就汇集电场线。
这些内容大家在中学的时候应该都学了,我就一笔带过,接下来我们考虑一个稍微复杂一点的问题:库伦定律告诉了我们两个点电荷之间静电力的大小,那么我们就可以根据这个求出一个点电荷周围的电场强度。然而,一个点电荷是最简单的情况,如果带电源再复杂一点呢?如果我有很多个电荷,或者说我直接就是一块形状不规则的带电体,这时候我们要怎么求它产生的电场呢?
一个很简单自然的想法就是:如果有很多个电荷,我就把每个电荷在这点产生的电场强度算出来,再把它们叠加起来就行了。如果这是一个连续的带电体(比如一根带电的线),那我们就再次举起牛顿爵爷留给我们的微积分大刀,哗啦啦地把这个带电体切成无数个无穷小的部分,这样每一个无穷小的部分就可以看做一个点电荷,然后把这无数个点电荷在那点产生的电场强度叠加起来(就是积分)就行了。
我们上面的思路其实就是秉着“万物皆可切成点,万物皆可积”的精神,强行让库伦定律和微积分联姻,“硬算”出任何带电体在任意位置的场强。这在原理上是行得通的,没问题,但是在具体操作上就很复杂了,有没有更简单优雅一点的办法呢?
有,不过这需要我们换个角度看问题。物理学研究物体运动变化的规律,但是物体时时刻刻都处在变化之中,你要怎么去寻找它的规律呢?这里就涉及到科学研究的一个重要思想:把握变化世界里那些不变的东西。
牛顿发现一切物体在运动中都有某种共同不变的东西,不管物体怎样运动,受到什么样的力,这个东西只由物体的密度和体积决定,于是牛顿从中提炼出了质量的概念(当然,现在质量是比密度体积更基本的概念);科学家们发现物体在各种变化的过程中有某种守恒的东西,于是提炼出了能量的概念。那么,带电体在周围空间中产生电场的过程,能不能也提炼出某种不变的东西呢?
04. 通量的引入
我们先不管电,先来看看我们更熟悉的水。毕竟水流和电流有某种相似之处,
我在一个水龙头的出口处装一个喷头,让水龙头向周围的空间喷射水流(就像正电荷喷射电场线一样),然后我用一个完全透水(水能够自由的穿过塑料袋)的塑料袋把水龙头包起来。那么,从水龙头出来的所有的水都必须穿过这个塑料袋,然后才能去其他地方,穿过这个塑料袋的表面是所有水的必经之路。
这个看似平常的现象后面却隐藏了这样一个事实:无论塑料袋有多大,是什么形状,只要你是密封的。那么,从水龙头流出的水量就一定等于通过这个塑料袋表面的水量。
从这里,我们就抽象出来了一个非常重要的概念:通量。通量,顾名思义,就是通过一个曲面的某种流量,通过塑料袋表面的水的流量就叫塑料袋的水通量。这样上面的例子我们就可以说成水龙头的出水量等于塑料袋的水通量了。
好,水的事就先说到这里,我们再回过头来看看电。还是用上面的实验,现在我们把水龙头换成一个正电荷,我们还是用一个完全透电(对电没有任何阻力)的塑料袋套住一个正电荷,那会发生什么呢?水龙头的喷头散发的是水流,正电荷“散发”的是电场线;通过该塑料袋的水流量叫塑料袋的水通量,那么电场线通过塑料袋的数量自然就叫塑料袋的电通量。对于水通量,我们知道它等于水龙头的出水量,那么塑料袋的电通量等于什么呢?
我们知道,之所以会有电场线,是因为空间中存在电荷。而且,电荷的电量越大,它产生的电场强度就越大,电场线就越密,那么穿过塑料袋的电场线的数量就越多,对应的电通量就越大。所以,我们虽然无法确定这个电通量的具体形式,但是可以肯定它一定跟这个塑料袋包含的电荷量有关,而且是正相关。
这就是在告诉我们:通过一个闭合曲面的电通量跟曲面内包含电荷总量是成正比的,电荷量越大,通过这个任意闭合曲面的电通量就越大,反之亦然。这就是麦克斯韦方程组的第一个方程——高斯电场定律的核心思想。
把这个思想从电翻译到水上面去就是:通过一个闭合曲面的水量是这个曲面内包含水龙头水压的量度,水压越大,水龙头越多,通过这个闭合曲面的水量就越大。这几乎已经接近“废话”了~所以,大家面对那些高大上的公式方程的时候不要先自己吓自己,很多所谓非常高深的思想,你把它用人话翻译一下,就会发现它非常简单自然。
我们再来审视一下高斯电场定律的核心思想:通过一个闭合曲面的电通量跟曲面包含的电荷量成正比。那么,我们要怎么样把这个思想数学化呢?电荷的总量好说,就是把所有电荷的带电量加起来,那么通过一个闭合曲面的电通量要怎么表示呢?
05. 电场的通量
我们先从最简单的情况看起。
问题1:我们假设空间里有一个电场强度为E的匀强电场,然后有一个面积为a的木板跟这个电场方向垂直,那么,通过这个木板的电通量Φ要怎么表示呢?
我们想想,我们最开始是从水通过曲面的流量来引入通量的,到了电这里,我们用电场线通过一个曲面的数量表示电通量。而我们也知道,电场线的密度代表了电场强度的大小。所以,我们就能很明显的发现:电场强度越大,通过木板的电场线数量越多;木板的面积越大,通过木板的电场线数量越多。而电场线的数量越多,就意味着电通量越大。
因为电场强度E是一个矢量(有大小和方向),所以我们用E的绝对值|E|来表示E的大小,那么我们直接用电场强度的大小|E|和木板面积a的乘积来表示电通量的大小是非常合理的。也就是说,通过木板的电通量Φ=|E|×a。
木板和电场线方向相互垂直是最简单的情况,如果木板和电场的方向不垂直呢?
问题2:还是上面的木板和电场,如果木板跟电场的方向不是垂直的,它们之间有一个夹角θ,那这个电通量又要怎么求呢?
如上图,首先,我们能直观地感觉到:当木板不再和电场方向垂直的时候,这个木板被电场线穿过的有效面积减小了。原来长度为AB的面都能挡住电场线,现在,虽然还是那块木板,但是真正能够有效挡住电场线的变成了BC这个面。
然后,我们再来谈一谈曲面的方向,可能很多人都认为曲面的方向就是定义为AB的方向。其实不是的,我们是用一个垂直于这个平面的向量的方向表示这个平面的方向,这个向量就叫这个平面的法向量。如上图所示,我画了一个跟木板垂直的法向量n,那么这个法向量n和电场E的夹角才是木板这个平面和电场的夹角θ。
AB、BC和θ之间存在一个非常简单的三角关系:BC=AB×cosθ(因为夹角θ跟角ABC相等,cosθ表示直角三角形里邻边和斜边的比值)。而我们有知道垂直的时候通过木板的电通量Φ=|E|×|a|,那么,当它们之间有一个夹角θ的时候,通过木板的电通量自然就变成了:Φ=|E|×|a|×cosθ。
06. 矢量的点乘
到了这里,我们就必须稍微讲一点矢量和矢量的乘法了。
通俗地讲,标量是只有大小没有方向的量。比如说温度,房间某一点的温度就只有一个大小而已,并没有方向;再比如质量,我们只说一个物体的质量是多少千克,并不会说质量的方向是指向哪边。而矢量则是既有大小,又有方向的量。比如速度,我们说一辆汽车的速度不仅要说速度的大小,还要指明它的方向,它是向东还是向南;再比如说力,你去推桌子,这个推力不仅有大小(决定能不能推动桌子),还有方向(把桌子推向哪一边)。
标量因为只有大小没有方向,所以标量的乘法可以直接像代数的乘法一样,让它们的大小相乘就行了。但是,矢量因为既有大小又有方向,所以你两个矢量相乘就不仅要考虑它的大小,还要考虑它的方向。假如你有两个矢量,一个矢量的方向向北,另一个向东,那么它们相乘之后得到的结果还有没有方向呢?如果有,这个方向要怎么确定呢?
这就是说,我们从小学开始学习的那种代数乘法的概念,在矢量这里并不适用,我们需要重新定义一套矢量的乘法规则,比如我们最常用的点乘(符号为‘·’)。你两个标量相乘就是直接让两个标量的大小相乘,我现在矢量不仅有大小还有方向,那么这个方向怎么体现呢?简单,我不让你两个矢量的大小直接相乘,而是让一个矢量的投影和另一个矢量的大小相乘,这样就既体现了大小又体现了方向。
如上图,我们有两个矢量OA和OB(线段的长短代表矢量的大小,箭头的方向代表矢量的方向),我们过A点做AC垂直于OB(也就是OA往OB方向上投影),那么线段OC的长度就代表了矢量OA在OB方向上的投影。而根据三角函数的定义,一个角度θ的余弦cosθ被定义为邻边(OC)和斜边(OA)的比值,即cosθ=OC/|OA|(绝对值表示矢量的大小,|OA|表示矢量OA的大小)。所以矢量OA在OB方向上的投影OC可以表示为:OC=|OA|×cosθ。
既然两个矢量的点乘被定义为一个矢量的投影和和另一个矢量大小的乘积,现在我们已经得到了投影OC的表达式,那么矢量OA和OB的点乘就可以表示为:
OA·OB=OC×|OB|=|OA||OB|cosθ。
为什么我们上面明明还在讲电场通过一个平面的通量,接着却要从头开始讲了一堆矢量的点乘的东西呢?因为电场强度也是一个矢量,它有大小也有方向(电场线的密度代表大小,电场线的方向代表它的方向);平面其实也是一个矢量,平面的大小不用说了,平面的方向是用垂直于这个平面的法向量来表示的。而且,我们再回顾一下当平面跟电场方向有一个夹角θ的时候,通过这个平面的电通量Φ=|E|×|a|×cosθ。这是不是跟上面两个矢量点乘右边的形式一模一样?
也就是说,如果我们从矢量的角度来看:电场E通过一个平面a的电通量Φ就可以表示为这两个矢量(电场和平面)的点乘,即Φ=E·a(因为根据点乘的定义有E·a=|E|×|a|×cosθ)。
这种表述既简洁又精确,你想想,如果你不使用矢量的表述,那么你在公式里就不可避免地会出现很多和夹角θ相关的地方。更关键的是,电场强度和平面本来就都是矢量,你使用矢量的运算天经地义,为什么要用标量来代替它们呢?
总之,我们知道一个电场通过一个平面的电通量可以简洁的表示为:Φ=E·a,这就够了。但是,高斯电场定律的核心思想是通过闭合曲面的电通量跟曲面包含的电荷量成正比,我们这里得到的只是一个电场通过一个平面的电通量,一个平面和一个闭合曲面还是有相当大的区别的。
07. 闭合曲面的电通量
知道怎么求一个平面的电通量,要怎么求一个曲面的电通量呢?
这里就要稍微涉及一丢丢微积分的思想了。我们都知道我们生活在地球的表面,而地球表面其实是一个球面,那么,为什么我们平常在路上行走时却感觉不到这种球面的弯曲呢?这个答案很简单,因为地球很大,当我们从月球上遥望地球的时候,我们能清晰地看到地球表面是一个弯曲的球面。但是,当我们把范围仅仅锁定在我们目光周围的时候,我们就感觉不到地球的这种弯曲,而是觉得我们行走在一个平面上。
地球的表面是一个曲面,但是当我们只关注地面非常小的一块空间的时候,我们却觉得这是一个平面。看到没有,一个曲面因为某种原因变成了一个平面,而我们现在的问题不就是已知一个平面的电通量,要求一个曲面的电通量么?那么地球表面的这个类比能不能给我们什么启发呢?
弯曲的地球表面在小范围内是平面,这其实是在启发我们:我们可以把一个曲面分割成许多块,只要我们分割得足够细,保证每一小块都足够小,那么我们是可以把这个小块近似当作平面来处理的。而且不难想象,我把这个曲面分割得越细,它的每一个小块就越接近平面,我们把这些小平面都加起来就会越接近这个曲面本身。
下面是重点:如果我们把这个曲面分割成无穷多份,这样每个小块的面积就都是无穷小,于是我们就可以认为这些小块加起来就等于这个曲面了。这就是微积分最朴素的思想。
如上图,我们把一个球面分割成了很多块,这样每一个小块就变成了一个长为dx,宽为dy的小方块,这个小方块的面积da=dx·dy。如果这个小块的电场强度为E,那么通过这个小块的电通量就是E·da。如果我们我们把这个球面分割成了无穷多份,那么把这无穷多个小块的电通量加起来,就能得到穿过这个曲面的总电通量。
这个思想总体来说还是很简单的,只是涉及到了微积分最朴素的一些思想。如果要我们具体去计算可能就会比较复杂,但是庆幸的是,我们不需要知道具体如何计算,我们只需要知道怎么表示这个思想就行了。一个小块da的电通量是E·da,那么我们就可以用下面的符号表示通过这个曲面S的总电通量:
这个拉长的大S符号就是积分符号,它就是我们上面说的微积分思想的代表。它的右下角那个S代表曲面S,也就是说我们这里是把这个曲面S切割成无穷小块,然后对每一块都求它的通量E·da,然后把通量累积起来。至于这个大S中间的那个圆圈就代表这是一个闭合曲面。
08. 方程一:高斯电场定律
总之,上面这个式子就代表了电场E通过闭合曲面S的总电通量,而我们前面说过高斯电场定律的核心思想就是:通过闭合曲面的电通量跟这个曲面包含的电荷量成正比。那么,这样我们就能非常轻松的理解麦克斯韦方程组的第一个方程——高斯电场定律了:
方程的左边,我们上面解释了这么多,这就是电场E通过闭合曲面S的电通量。方程右边带enc下标的Q表示闭合曲面内包含的电荷总量,ε0是个常数(真空介电常数),暂时不用管它。等号两边一边是闭合曲面的电通量,另一边是闭合曲面包含的电荷,我们这样就用数学公式完美地诠释了我们的思想。
麦克斯韦方程组总共有四个方程,分别描述了静电、静磁、磁生电、电生磁的过程。库伦定律从点电荷的角度描述静电,而高斯电场定律则从通量的角度来描述静电,为了描述任意闭合曲面的通量,我们不得不引入了微积分的思想。我们说电通量是电场线通过一个曲面的数量,而我们也知道磁场也有磁感线(由于历史原因无法使用磁场线这个名字),那么,我们是不是也可以类似建立磁通量的概念,然后在此基础上建立类似的高斯磁场定律呢?
09. 方程二:高斯磁场定律
磁通量的概念很好建立,我们可以完全模仿电通量的概念,将磁感线通过一个曲面的数量定义磁通量。因为磁场线的密度一样表征了磁感应强度(因为历史原因,我们这里无法使用磁场强度)的大小。所以不难理解,我们可以仿照电场把磁感应强度为B的磁场通过一个平面a的磁通量Φ表示为Φ=B·a。
同样,根据我们在上面电场里使用的微积分思想,类比通过闭合曲面电通量的作法,我们可以把通过一个闭合曲面S的磁通量表示为:
然后,我们可以类比高斯电场定律的思想“通过闭合曲面的电通量跟这个曲面包含的电荷量成正比”,建立一个高斯磁场定律,它是核心思想似乎就应该是:通过闭合曲面的磁通量跟这个曲面包含的“磁荷量”成正比。
然而这里会有个问题,我们知道自然界中有独立存在的正负电荷,电场线都是从正电荷出发,汇集与负电荷。但是自然界里并不存在(至少现在还没发现)独立的磁单极子,任何一个磁体都是南北两极共存。所以,磁感线跟电场线不一样,它不会存在一个单独的源头,也不会汇集到某个地方去,它只能是一条闭合的曲线。
上图是一个很常见的磁铁周围的磁感线,磁铁外部的磁感线从N极指向S极,在磁铁的内部又从S极指向N极,这样就形成一个完整的闭环。
如果磁感线都是一个闭环,没有独立存在的磁单极,那我们可以想一想:如果你在这个闭环里画一个闭合曲面,那么结果肯定就是有多少磁感线从曲面进去,就肯定有多少跟磁感线从曲面出来。因为如果有一根磁感线只进不出,那它就不可能是闭合的了,反之亦然。
如果一个闭合曲面有多少根磁感线进,就有多少根磁感线出,这意味着什么呢?这就意味着你进去的磁通量跟出来的磁通量相等,那么最后这个闭合曲面包含的总磁通量就恒为0了。这就是麦克斯韦方程组的第二个方程——高斯磁场定律的核心思想:闭合曲面包含的磁通量恒为0。
通过闭合曲面的磁通量(B·a是磁通量,套个曲面的积分符号就表示曲面的磁通量)我们上面已经说了,恒为0无非就是在等号的右边加个0,所以高斯磁场定律的数学表达式就是这样的:
对比一下高斯电场定律和高斯磁场定律,我们会发现他们不仅是名字想象,思想也几乎是一模一样的,只不过目前还没有发现磁荷、磁单极子,所以高斯磁场定律的右边就是一个0。我们再想一想:为什么这种高斯XX定律能够成立?为什么通过任意闭合曲面的某种通量会刚好是某种量的一个量度?
原因还在它们的“平方反比”上。因为电场强度和磁感应强度都是跟距离的平方成反比,而表面积是跟距离的平方正比,所以你前者减小多少,后者就增加多少。那么,如果有一个量的表示形式是前者和后者的乘积,那么它的总量就会保持不变。而通量刚好就是XX强度和表面积的乘积,所以电通量、磁通量就都会有这样的性质。
所以,再深思一下你就会发现:只要一种力的强度是跟距离平方成反比,那么它就可以有类似的高斯XX定律,比如引力,我们一样可以找到对应的高斯定律。数学王子高斯当年发现了高斯定理,我们把它应用在物理学的各个领域,就得到了各种高斯XX定律。麦克斯韦方程组总共就四个方程,就有两个高斯定律,可见其重要性。
静电和静磁方面的事情就先说这么多,还有疑问的请咨询高斯,毕竟这是人家独家冠名的产品。接下来我们来看看电和磁之间的交互,看看磁是如何生电,电是如何生磁的。说到磁如何生电,那就肯定得提到法拉第。奥斯特发现电流的磁效应之后,大家秉着对称性的精神,认为磁也一定能够生电,但是磁到底要怎样才能生电呢?不知道,这就得做实验研究了。
10. 电磁感应
既然是要做实验看磁如何生电,那首先肯定得有一个磁场。这个简单,找两块N极和S极相对的磁铁,这样它们之间就会有一个磁场。我再拿一根金属棒来,看看它有没有办法从磁场中弄出电来。因为金属棒是导电的,所以我把它用导线跟一个检测电流的仪器连起来,如果仪器检测到了电流,那就说明磁生电成功了。
法拉第做了很多这样的实验,他发现:你金属棒放在那里不动,是不会产生电流的(这是自然,否则你就是凭空产生了电,能量就不守恒了。你要这样能发电,那我买块磁铁回家,就永远不用再交电费了)。
然后,他发现金属棒在那里动的时候,有时候能产生电流,有时候不能产生,你要是顺着磁感线的方向运动(在上图就是左右运动)就没有电流,但是你要是做切割磁感线的运动(在上图就是上下运动)它就能产生电流。打个通俗的比喻:如果把磁感线想象成一根根面条,你只有把面条(磁感线)切断了才会产生电流。
再然后,他发现金属棒在磁场里不动虽然不会产生电流,但是如果这时候我改变一下磁场的强度,让磁场变强或者变弱一些,即便金属棒不动也会产生电流。
法拉第仔细总结了这些情况,他发现不管是金属棒运动切割磁感线产生电流,还是磁场强度变化产生电流,都可以用一个通用的方式来表达:只要闭合回路的磁通量发生了改变,就会产生电流。我们想想,磁通量是磁场强度B和面积a的乘积(B·a),我切割磁感线其实是相当于改变了磁感线通过回路的面积a,改变磁场强度就是改变了B。不管我是改变了a还是B,它们的乘积B·a(磁通量)肯定都是要改变的。
也就是说:只要通过曲面(我们可以把闭合回路当作一个曲面)的磁通量发生了改变,回路中就会产生电流,而且磁通量变化得越快,这个电流就越大。
到了这里,我们要表示通过一个曲面的磁通量应该已经轻车熟路了。磁通量是B·a,那么通过一个曲面S的磁通量给它套一个积分符号就行了。于是,通过曲面S磁通量可以写成下面这样:
细心的同学就会发现这个表达式跟我们高斯磁场定律里磁通量部分稍微有点不一样,高斯磁场定律里的积分符号(拉长的S)中间有一个圆圈,我们这里却没有。高斯磁场定律说“闭合曲面的磁通量恒为0”,那里的曲面是闭合曲面,所以有圆圈。而我们这里的曲面并不是闭合曲面(我们是把电路回路当成一个曲面,考虑通过这个回路的磁通量),也不能是闭合曲面。因为法拉第就是发现了“通过一个曲面的磁通量有变化就会产生电流”,如果这是闭合曲面,那根据高斯磁场定律它的磁通量恒为0,恒为0那就是没有变化,没变化按照法拉第的说法就没有电流,那还生什么电?
所以,我们要搞清楚,我们这里不再是讨论闭合曲面的磁通量,而是一个非闭合曲面的磁通量,这个磁通量发生了改变就会产生电流,而且变化得越快产生的电流就越大。上面的式子给出的只是通过一个曲面S的磁通量,但是我们看到了最终决定电流大小的并不是通过曲面的磁通量的大小,而是磁通量变化的快慢。那么这个变化的快慢我们要怎么表示呢?
我们先来看看我们是怎么衡量快慢的。比如身高,一个人在十二三岁的时候一年可以长10厘米,我们说他这时候长得快;到了十七八岁的时候可能一年就长1厘米,我们就说他长得慢。也就是说,我们衡量一个量(假设身高用y表示)变化快慢的方法是:给定一个变化的时间dt(比如一年,或者更小),看看这个量的变化dy是多少,如果这个量的变化很大我们就说它变化得很快,反之则变化得慢。
因此,我们可以用这个量的变化dy和给定的时间dt的比值dy/dt来衡量量这个量y变化的快慢。所以,我们现在要衡量磁通量变化的快慢,那就只需要把磁通量的表达式替换掉上面的y就行了,那么通过曲面S的磁通量变化的快慢就可以这样表示:
这样,我们就把磁生电这个过程中磁的这部分说完了,那么电呢?一个闭合回路(曲面)的磁通量有变化就会产生电,那这种电要怎么描述?
11. 电场的环流
可能有人觉得磁通量的变化不是在回路里产生了电流么,那么我直接用电流来描述这种电不就行了么?不行,我们的实验里之所以有电流,是因为我们用导线把金属棒连成了一个闭合回路,如果我们没有用导线去连金属棒呢?那肯定就没有电流了。
所以,电流并不是最本质的东西,那个最本质的东西是电场。一个曲面的磁通量发生了变化,它就会在这个曲面的边界感生出一个电场,然后这个电场会驱动导体中的自由电子定向移动,从而形成电流。因此,就算没有导线没有电流,这个电场依然存在。所以,我们要想办法描述的是这个被感生出来的电场。
首先,一个曲面的磁通量发生了改变,就会在在曲面的边界感应出一个电场,这个电场是环绕着磁感线的,就像是磁感线的腰部套了一个呼啦圈。而且,你这个磁通量是增大还是减小,决定了这个电场是顺时针环绕还是逆时针环绕,如下图:
如果我们从上往下看的话,这个成闭环的感生电场就是如下图所示:它在这个闭环每点的方向都不一样,这样就刚好可以沿着回路驱动带电粒子,好像是电场在推着带电粒子在这里环里流动一样。
这里,我们就要引入一个新的概念:电场环流,电场的环流就是电场沿着闭合路径的线积分。这里有两个关键词:闭合路径和线积分。闭合路径好说,你只有路径是闭合的,才是一个环嘛,感生电场也是一个环状的电场。
电场的线积分是什么意思呢?因为我们发现这个感生电场是一个环状电场,它在每一个点的方向都不一样。但是,我们依然可以发动微积分的思想:这个电场在大范围内(比如上面的整个圆环)方向是不一样的,但是,如果在圆环里取一个非常小的段dl,电场E就可以看做是一个恒定的了,这时候E·dl就是有意义的了。然后把这个环上所有部分的E·dl都累加起来,也就是沿着这个圆环逐段把E·dl累加起来,这就是对电场求线积分。而这个线积分就是电场环流,用符号表示就是这样:
积分符号下面的C表示这是针对曲线进行积分,不同于我们前面的面积分(下标为S),积分符号中间的那个圆圈就表示这个是闭合曲线(电场形成的圆环)。如果大家已经熟悉了前面曲面通量的概念,我想这里要理解电场在曲线上的积分(即电场环流)并不难。
这个电场环流有什么物理意义呢?它就是我们常说电动势,也就是电场对沿着这条路径移动的单位电荷所做的功。我这里并不想就这个问题再做深入的讨论,大家只要直观的感觉一下就行了。你想想这个电场沿着这个回路推动电荷做功(电场沿着回路推着电荷走,就像一个人拿着鞭子抽磨磨的驴),这就是电场环流要传递的概念。而用这个概念来描述变化的磁产生的电是更加合适的,它既包含了感生电场的大小信息,也包含了方向信息。
12. 方程三:法拉第定律
所以,麦克斯韦方程组的第三个方程——法拉第定律的最后表述就是这样的:曲面的磁通量变化率等于感生电场的环流。用公式表述就是这样:
方程右边的磁通量的变化率和和左边的感生电场环流我们上面都说了,还有一个需要说明的地方就是公式右边的这个负号。为什么磁通量的变化率前面会有个负号呢?
我们想想,法拉第定律说磁通量的变化会感生出一个电场出来,但是我们别忘了奥斯特的发现:电流是有磁效应的。也就是说,磁通量的变化会产生一个电场,这个电场它自己也会产生磁场,那么也就有磁通量。那么,你觉得这个感生电场产生的磁通量跟原来磁场的磁通量的变化会有什么关系?
假如原来的磁通量是增加的,那么这个增加的磁通量感生出来的电场产生的磁通量是跟原来方向相同还是相反?仔细想想你就会发现,答案必然是相反。如果原来的磁通量是增加的,你感生出来的电场产生的磁通量还跟它方向相同,这样不就让原来的磁通量增加得更快了么?增加得更快,按照这个逻辑就会感生出更强大的电场,产生更大的与原来方向相同的磁通量,然后又导致原来的磁通量增加得更快……
然后你会发现这个过程可以无限循环下去,永远没有尽头,这样慢慢感生出无限大的电场和磁通量,这肯定是不可能的。所以,为了维持一个系统的稳定,你原来的磁通量是增加的,我感生电场产生的磁通量就必然要让原来的磁通量减小,反之亦然。这就是楞次定律的内容,中学的时候老师会编一些口诀让你记住它的内容,但是我想让你知道这是一个稳定系统自然而然的要求。楞次定律背后还有一些更深层次的原因,这里我们暂时只需要知道这是法拉第定律那个负号的体现就行了。
到这里,我们就把麦克斯韦方程组的第三个方程——法拉第定律的内容讲完了,它刻画了变化的磁通量如何产生电场的过程。但是,我们上面也说了,我们这里的磁通量变化包含了两种情况:导体运动导致的磁通量变化和磁场变化导致的磁通量变化。这两种情况其实是不一样的,但是它们居然又可以用一个统一的公式来表达,这其实是非常不自然的,当时的人们也只是觉得这是一种巧合罢了,但是爱因斯坦却不认为这是一种巧合,而是大自然在向我们暗示什么,他最终从这里发现了狭义相对论,有兴趣的同学可以这里思考一下。
也因为这两种情况不一样,所以,法拉第定律还有另外一个版本:它把这两种情况做了一个区分,认为只有磁场变化导致的磁通量变化才是法拉第定律,前面导体运动导致的磁通量变化只是通量法则。所以我们有时候就会看到法拉第定律的另一个版本:
对比一下这两个法拉第定律,我们发现后面这个只是把那个变化率从原来的针对整个磁通量移到了只针对磁场强度B(因为B不是只跟时间t有关,还可以跟其它的量有关,所以我们这里必须使用对时间的偏导的符号∂B/∂t),也就是说它只考虑变化磁场导致的磁通量变化。这种形式跟我们后面要说的法拉第定律的微分形式对应得更好,这个后面大家会体会到。
磁生电的过程我们先讲这么多,最后我们来看看电生磁的情况。可能有些人会觉得我这个出场次序有点奇怪:明明是奥斯特先发现了电流的磁效应,大概十年后法拉第才发现了磁如何生电,为什么你却要先讲磁生电的法拉第定律,最后讲电生磁呢?
13. 安培环路定理
确实,是奥斯特首先爆炸性地发现了电流的磁效应,发现了原来电和磁之间并不是毫无关系的。
如上图,假设电流从下往上,那么它在周围就会产生这样一个环形的磁场。磁场的方向可以用所谓的右手定则直观的判断:手握着导线,拇指指向电流的方向,那么你右手四指弯曲的方向就是磁场B的方向。
然后毕奥、萨伐尔和安培等人立马着手定量的研究电流的磁效应,看看一定大小的电流在周围产生的磁场的大小是怎样的。于是,我们就有了描述电流磁效应的毕奥-萨伐尔定律和安培环路定理。其中,毕奥-萨伐尔定律就类似于库伦定律,安培环路定理就类似于高斯电场定律,因为在麦克斯韦方程组里,我们使用的是后一套语言,所以我们这里就只来看看安培环路定理:
安培环路定理的左边跟法拉第定律的左边很相似,这是很显然的。因为法拉第定律说磁通量的变化会在它周围产生一个旋转闭合的电场,而电流的磁效应也是在电流的周围产生一个旋转闭合的磁场。在上面我们已经说了我们是用电场环流(也就是电场在闭合路径的线积分)来描述这个旋转闭合的电场,那我们这里一样使用磁场环流(磁场在闭合路径的线积分)来描述这种旋转闭合的磁场。
安培环路定理的右边就比较简单了,μ0是个常数(真空磁导率),不用管它。I通常是用来表示电流的,enc这个右标我们在高斯电场定律那里已经说过了,它是包含的意思。所以,右边这个带enc的电流I就表示被包含在闭合路径里的总电流,哪个闭合路径呢?那自然就是你左边积分符号中间那个圈圈表示的闭合路径了。
也就是说,安培环路定理其实是在告诉我们:通电导线周围会产生旋转磁场,你可以在这个电流周围随便画一个圈,那么这个磁场的环流(沿着这个圈的线积分)就等于这个圈里包含的电流总量乘以真空磁导率。
那么,这样就完了么?静电、静磁分别由两个高斯定律描述,磁生电由法拉第定律描述,电生磁就由安培环路定理描述?
不对,我们看看安培环路定理,虽然它确实描述了电生磁,但是它这里的电仅仅是电流(定理右边只有电流一项)。难道一定要有电流才会产生磁?电磁感应被发现的原因就是看到奥斯特发现了电流的磁效应,发现电能生磁,所以人们秉着对称性的原则,觉得既然电能够生磁,那么磁也一定能够生电。那么,继续秉着这种对称性,既然法拉第定律说“变化的磁通量能够产生电”,那么,我们实在有理由怀疑:变化的电通量是不是也能产生磁呢?
14. 方程四:安培-麦克斯韦定律
那么,为什么描述电生磁的安培环路定理里却只有电流产生磁,而没有变化的电通量产生磁这一项呢?难道当时的科学家们没意识到这种对称性么?当然不是,当时的科学家们也想从实验里去找到电通量变化产生磁场的证据,但是他们并没有找到。没有找到依然意味着有两种可能:不存在或者目前的实验精度还发现不了它。
如果你是当时的科学家,面对这种情况你会作何选择?如果你因为实验没有发现它就认为它不存在,这样未免太过保守。但是,如果你仅仅因为电磁之间的这样一种对称性(而且还不是非常对称,因为大自然里到处充满了独立的电荷,却没有单独的磁单极子)就断定“电通量的变化也一定会产生磁”这样未免太过草率。这种时候就是真正考验一个科学家能力和水平的时候了。
麦克斯韦选择了后者,也就是说麦克斯韦认为“变化的电通量也能产生磁”,但是他并不是随意做了一个二选一的选择,而是在他的概念模型里发现必须加入这样一项。而且,只有加上了这样一项,修正之后的安培环路定理才能跟高斯电场定律、高斯磁场定律、法拉第定律融洽相处,否则他们之间会产生矛盾(这个矛盾我们在后面的微分篇里再说)。麦克斯韦原来的模型太过复杂,我这里就不说了,这里我用一个很简单的例子告诉大家为什么必须要加入“变化的电通量也能产生磁”这一项。
在安培环路定理里,我们可以随意选一个曲面,然后所有穿过这个曲面的电流会在这个曲面的边界上形成一个环绕磁场,问题的关键就在这个曲面的选取上。按理说,只要你的这个曲面边界是一样的,那么曲面的其他部分就随便你选,因为安培环路定理坐标的磁场环流只是沿着曲面的边界的线积分而已,所以它只跟曲面边界有关。下面这个例子就会告诉你即便曲面边界一样,使用安培环路定理还是会做出相互矛盾的结果。
上图是一个包含电容器的简单电路。电容器顾名思义就是装电的容器,它可以容纳一定量的电荷。一开始电容器是空的,当我们把开关闭合的时候,电荷在电池的驱动下开始移动,移动到了电容器这里就走不动了(此路不通),然后电荷们就聚集在电容器里。因为电容器可以容纳一定量的电荷,所以,当电容器还没有被占满的时候,电荷是可以在电路里移动的,电荷的移动就表现为电流。
所以,我们会发现当我们在给电容器充电的时候,电路上是有电流的,但是电容器之间却没有电流。所以,如果我们选择上图的曲面,那么明显是有电流穿过这个曲面,但是,如果我们选择下面这个曲面呢(此处图片来自《麦克斯韦方程直观》,需要的可以后台回复“麦克斯韦方程组”)?
这个曲面的边界跟上图一样,但是它的底却托得很长,盖住了半块电容器。这是什么意思呢?因为我们知道电容器在充电的时候,电容器里面是没有电流的,所以,当我们把曲面选择成下面这个样子的时候,根本就没有电流穿过这个曲面。
也就是说,如果我选上面的曲面,有电流穿过曲面,按照安培环路定理,它是肯定会产生一个环绕磁场的。但是,如果我选择下面的曲面,就没有电流通过这个曲面,按照安培环路定理就不会产生环绕磁场。而安培环路定理只限定曲面的边界,并不管你曲面的其它地方,于是我们就看到这两个相同边界的曲面会得到完全不同的结论,这就只能说明:安培环路定理错了,或者至少它并不完善。
我们再来想一想,电容器在充电的时候电路中是有电流的,所以它周围应该是会产生磁场的。但是,当我们选择下面那个大口袋形的曲面的时候,并没有电流穿过这个曲面。那么,到底这个磁场是怎么来的呢?
我们再来仔细分析一下电容器充电的过程:电池驱使着电荷不断地向电容器聚集,电容器中间虽然没有电流,但是它两边聚集的电荷却越来越多。电荷越来越多的话,在电容器两个夹板之间的电场强度是不是也会越来越大?电场强度越来越大的话,有没有嗅到什么熟悉的味道?
没错,电场强度越来越大,那么通过这个曲面的电通量也就越来越大。因此,我们可以看到虽然没有电流通过这个曲面,但是通过这个曲面的电通量却发生了改变。这样,我们就可以非常合理地把“变化的电通量”这一项也添加到产生磁场的原因里。因为这项工作是麦克斯韦完成的,所以添加了这一项之后的新公式就是麦克斯韦方程组的第四个方程——安培-麦克斯韦定律:
把它和安培环路定理对比一下,你就会发现它只是在在右边加了变化的电通量这一项,其它的都原封未动。E·a是电通量,套个面积分符号就表示通过曲面S的电通量,再加个d/dt就表示通过曲面S电通量变化的快慢。因为在讲法拉第定律的时候我们详细讲了通过曲面磁通量变化的快慢,这里只是把磁场换成了电场,其他都没变。
ε0是真空中的介电常数,把这个常数和电通量变化的快慢乘起来就会得到一个跟电流的单位相同的量,它就被称为位移电流,如下图:
所以,我们经常能够听到别人说麦克斯韦提出了位移电流假说。其实,它的核心就是添加了“变化的电通量也能产生磁场”这一项,因为当时并没有实验能证明这一点,所以只能暂时称之为假说。在安培环路定理里添加了这一项之后,新生的安培-麦克斯韦定律就能跟其他的几条定律和谐相处了。而麦克斯韦之所以能够从他的方程组里预言电磁波的存在,这最后添加这项“变化的电通量产生磁场”至关重要。
因为你想想,预言电磁波的关键就是“变化的电场产生磁场,变化的磁场产生电场”,这样变化的磁场和电场就能相互感生传向远方,从而形成电磁波。而变化的电场能产生磁场,这不就是麦克斯韦添加的这一项的核心内容么?电场变了,电通量变了,于是就产生了磁场。至于麦克斯韦方程组如何推导出电磁波,我后面再专门写文章解释,这里知道电磁波的产生跟位移电流的假说密切相关就行了。
15. 麦克斯韦方程组
至此,麦克斯韦方程组的四个方程:描述静电的高斯电场定律、描述静磁的高斯磁场定律、描述磁生电的法拉第定律和描述电生磁的安培-麦克斯韦定律的积分形式就都说完了。把它们都写下来就是这样:
高斯电场定律说穿过闭合曲面的电通量正比于这个曲面包含的电荷量。
高斯磁场定律说穿过闭合曲面的磁通量恒等于0。
法拉第定律说穿过曲面的磁通量的变化率等于感生电场的环流。
安培-麦克斯韦定律说穿过曲面的电通量的变化率和曲面包含的电流等于感生磁场的环流。
我们看到,在这里从始至终都占据着核心地位的概念就是通量。
如果一个曲面是闭合的,那么通过它的通量就是曲面里面某种东西的量度。因为自然界存在独立的电荷,所以高斯电场定律的右边就是电荷量的大小,因为我们还没有发现磁单极子,所以高斯磁场定律右边就是0。
如果一个曲面不是闭合的,那么它就无法包住什么,就不能成为某种荷的量度。但是,一个曲面如果不是闭合的,它就有边界,于是我们就可以看到这个非闭合曲面的通量变化会在它的边界感生出某种旋涡状的场,这种场可以用环流来描述。因而,我们就看到了:如果这个非闭合曲面的磁通量改变了,就会在这个曲面的边界感生出电场,这就是法拉第定律;如果这个非闭合曲面的电通量改变了,就会在这个曲面的边界感生出磁场,这就是安培-麦克斯韦定律的内容。
所以,当我们用闭合曲面和非闭合曲面的通量把这四个方程串起来的时候,你会发现麦克斯韦方程组还是很有头绪的,并不是那么杂乱无章。闭上眼睛,想象空间中到处飞来飞去的电场线、磁场线,它们有的从一个闭合曲面里飞出来,有的穿过一个闭合曲面,有的穿过一个普通的曲面然后在曲面的边界又产生了新的电场线或者磁场线。它们就像漫天飞舞的音符,而麦克斯韦方程组就是它们的指挥官。
16. 结语
有很多朋友以为麦克斯韦方程组就是麦克斯韦写的一组方程,其实不然。如我们所见,麦克斯韦方程组虽然有四个方程,但是其中有三个半(高斯电场定律、高斯磁场定律、法拉第定律、安培环路定理)是在麦克斯韦之前就已经有了的,真正是麦克斯韦加进去的只有安培-麦克斯韦定律里”电通量的变化产磁场”那一项。知道了这些,有些人可能就会觉得麦克斯韦好像没那么伟大了。
其实不然,在麦克斯韦之前,电磁学领域已经有非常多的实验定律,但是这些定律哪些是根本,哪些是表象?如何从这一堆定律中选出最核心的几个,然后建立一个完善自洽的模型解释一切电磁学现象?这原本就是极为困难的事情。更不用说麦克斯韦在没有任何实验证据的情况下,凭借自己天才的数学能力和物理直觉直接修改了安培环路定理,修正了几个定律之间的矛盾,然后还从中发现了电磁波。所以,丝毫没有必要因为麦克斯韦没有发现方程组的全部方程而觉得他不够伟大。
最后,如题所示,我这篇文章讲的只是麦克斯韦方程组的积分篇,方程都是用积分是形式写的。因为积分篇主要是从通量,从宏观的角度来描述电磁学,所以相对比较容易理解。有积分篇那就意味着还有麦克斯韦方程组的微分篇,微分篇的内容我们下一篇再讲。
微分篇
在文章上一篇里,带着大家从零开始一步一步认识了麦克斯韦方程组的积分形式,这篇文章我们就来看看它的微分形式。
在积分篇里,我们一直在跟电场、磁场的通量打交道。我们任意画一个曲面,这个曲面可以是闭合的,也可以不是,然后我们让电场线、磁感线穿过这些曲面,它们就两两结合形成了四个积分形式的方程组。从这里我们能感觉到:麦克斯韦方程组的积分形式是从宏观角度来描述问题,这些曲面都是宏观可见的东西。那么微分形式呢?微分形式似乎应该从微观角度去看问题,那么我们要怎样把曲面、通量这些宏观上的东西弄到微观里来呢?
一个很简单的想法就是:我让宏观上的东西缩小缩小,直到缩小成一个点,这样不就进入微观了么?积分形式的麦克斯韦方程组需要选定一个曲面,但是它并没有限定这个曲面的大小,我可以把这个曲面选得很大,也可以选得很小。当你把这个曲面选得很小很小的时候,麦克斯韦方程组的积分形式就自然变成了微分形式。所以,微分形式的基本思想还是很简单的,它真正麻烦的地方是在于如何寻找一种方便的计算方式,这些我后面会细说。
因为微分形式和积分形式的这种承接关系,我建议大家尽量先看看积分篇的内容。在积分篇里,我是从零开始讲电磁学,讲麦克斯韦方程组,所以阅读起来不会有什么门槛。但是到了微分篇,上篇文章已经详细说了一些东西(诸如电场、通量、环流等概念)这里就不会再细说了。长尾君不会从天而降地抛出一个东西,如果在这篇文章里遇到了什么难以理解的东西,可以看看是不是在积分篇里已经说过了~
好,下面进入正题。在积分篇里我跟大家讲过,麦克斯韦方程组总共有四个方程,分别描述了静电(高斯电场定律)、静磁(高斯磁场定律)、磁生电(法拉第定律)、电生磁(安培-麦克斯韦定律)。这四个方程各有积分和微分两种形式,积分形式我们上篇已经说过了,微分形式我们还是按照顺序,也从静电开始。
01. 微分形式的静电
在积分篇里,我们是这样描述静电的:我在空间里任意画一个闭合曲面,那么通过闭合曲面的电场线的数量(电通量)就跟这个曲面包含的电荷量成正比。用公式表述就是这样:
这就是积分形式的高斯电场定律:左边表示通过闭合曲面S的电通量(E是电场强度,我们把面积为S的闭合曲面分割成许多小块,每一个小块用da表示,那么通过每一个小块面积的电通量就可以写成E·da。套上一个积分符号就表示把所有小块的电通量累加起来,这样就得到了通过整个闭合曲面S的电通量),右边那个带了enc下标的Q就表示闭合曲面包含的电荷量,ε0是个常数。这些内容我在积分篇里都详细说过了,这里不再多言。
下面是重点:因为这个闭合曲面S是可以任何选取的,它可以大可以小,可以是球面也可以是各种乱七八糟的闭合曲面。那么我们就不妨来学习一下孙悟空,变小变小再变小,我让这个闭合曲面也一直缩小缩小,缩小到无穷小,那么这时候高斯电场定律会变成什么样呢?
这里会涉及一丢丢极限的概念,我们这样考虑:一个闭合曲面缩小到无穷小,其实就是它的表面积或者体积无限趋向于0。也就是说,我假设有一个球的体积为ΔV,然后让这个ΔV无限趋近于0,那这样就可以表示这个球缩小到无穷小了。用数学符号可以记成这样:
Lim就是英文单词极限(limit)的缩写,ΔV通过一个箭头指向0可以很形象的表示它无限趋近于0。有了这个极限的概念,我们就可以很自然的表示通过这个无穷小曲面的电通量了(直接在电通量的前面加个极限符号),这时候高斯电场定律就成了这样:
这样,我们就把高斯电场定律从宏观拉到了微观:方程的左边表示曲面缩小到无穷小时的电通量,方程的右边表示无穷小曲面包含的电荷量。但是,当曲面缩小到无穷小的时候,我们再使用电荷量Q就不合适了,所以我们改用电荷密度(符号为ρ)。电荷密度,从名字里我们就能猜出它表示的是单位体积内包含电荷量的大小,所以它的表达式应该是用电荷量除以体积,即:ρ=Q/V。
所以,如果我们把微观的高斯电场定律左右两边都同时除以体积ΔV,那么右边的电荷量Q除以体积Δ就变成了电荷密度ρ,左边我们也再除以一个ΔV,那么公式就变成了下面这样:
公式的右边除以一个体积ΔV,就成了电荷密度ρ除以真空介电常数ε0,那左边呢?左边原来是通过无穷小曲面的电通量,这玩意除以一个体积ΔV之后表示什么呢?这一长串的东西,我们给它取了个新名字:散度。
也就是说,电场E在一个点(被无穷小曲面围着的这个点)上的散度被定义为电场通过这个无穷小曲面的电通量除以体积。散度的英文单词是divergence,所以我们通常就用div(E)表示电场E的散度,即:
所以,高斯电场定律的微分形式就可以表示成这样:
它告诉我们:电场在某点的散度跟该点的电荷密度成正比。
然后呢?然后微分篇的第一个方程就这样说完了?这只不过把高斯电场定律积分形式的曲面缩小到了无穷小,然后两边同时除了一个体积,右边凑出了一个电荷密度,左边巴拉巴拉凑出一大堆东西你告诉我这个新东西叫散度就完事了?不带这么玩的!那这个散度到底有什么物理意义?我要如何去计算具体的散度(你用无穷小通量去定义散度倒是好定义,但是这样计算可就麻烦了)?还有,很多人多多少少知道一些麦克斯韦方程组的样子,虽然不是很懂,那个倒三角符号▽倒还是记得的,你这公式里为什么没有▽符号呢?
02. 初入江湖的▽
没错,我们用无穷小曲面的通量和体积的比值来定义散度,这样定义是为了突出它跟通量之间的联系,也方便大家从积分的思维自然的转化到微分的思维中来。但是,这种定义在具体计算的时候是没什么用的,我们不会通过去计算无穷小曲面的通量和体积的比值来计算一个点的散度,因为这样实在是太麻烦了。我们有种更简单的方式来计算电场在某个点的散度,而这种方法,就会使用到我们熟悉的倒三角▽符号。
在这种新的表示方法里,电场E的散度可以被写成这样:▽·E,所以我们就可以用这个东西替换掉方程左边div(E),那么麦克斯韦方程组的第一个方程——描述静电的高斯电场定律的微分形式就可以写成这样:
这样写的话,是不是就感觉熟悉多了?也就是说,同样是为了表示散度,我们用▽·E代替了代替了原来无穷小曲面通量和体积比值那么一大串的东西。而且这样还非常好计算,使用这种新的方式,你只要给出一个电场,我分分钟就可以把电场的散度写出来。这种倒三角▽符号,绝对是符号简化史上的奇迹。
所以,我接下来的工作,或者说理解麦克斯韦方程组的微分形式的核心内容,就是要来告诉大家这个倒三角▽符号到底是什么意思,▽·(后面加了一个点)又是什么意思?为什么▽·E可以表示电场E的散度就?为什么▽·E跟我们前面散度的定义div(E)是等价的?也就是说:
为什么上面的式子是相等的,而且都可以用来表示电场E的散度?
这就是我在开篇说的:微分形式的基本思想还是很简单的,它真正麻烦的地方在于如何寻找一种方便计算的方式,这种方便的计算方式自然就是▽。那么我们接下来就先把电磁相关的物理内容搁置一旁,先一起来看一看这个传奇符号▽的前世今生,理解了它,你就理解了麦克斯韦方程组的微分形式的精髓。
03. 从导数说起
要理解▽,我们还是得先再来看一看这个衡量事物变化快慢的概念:导数。说“再”是因为我们在积分篇里已经讲过了:法拉第发现了电磁感应,发现变化的磁场能产生电场,而且磁场变化得越快,产生的电场越大。这里我们就需要这样一个量来描述磁场变化的快慢,只不过当时我们没有展开说。
我还是借用上篇身高的例子来看看我们是如何描述变化的快慢的。一个人在十二三岁的时候一年可以长10厘米,我们说他这时候长得快;到了十七八岁的时候可能一年就只能长1厘米,我们就说他长得慢。也就是说,我们衡量一个量(这里就是身高,假设身高用y表示)变化快慢的方法是:给定一个变化的时间dt(比如一年,或者更小),看看这个量的变化Δy是多少,如果这个量的变化很大我们就说它变化得很快,反之则变化得慢。
在这里,我稍微解释一下Δ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大的地方,图形里的斜率很大,通俗的说就是曲线很陡峭;而导数很小的地方,对应的曲线就很平缓。
在这个例子里,身高y是随着年龄t变化而变化,也就是说给定任何一个t的值,都有一个y的值跟它对应,我们就可以说身高y是一个关于年龄t的函数(function),记做y=f(t)。这个f自然就是函数的英文单词function的缩写,函数就是这样一种对应(映射)关系。在这里,身高y的值只跟年龄t一个变量相关,我们就说这是一个一元函数。但是,如果我们的问题稍微复杂一些,我的某个量不止跟一个量有关,而是跟多个量有关呢?
04. 多个变量的偏导数
比如山的高度,一座山在不同点的高度是不一样的,而在地面上确定一个点的位置需要经度和纬度两个信息。或者,你可以自己在地面上建立一个坐标系,然后地面上每一个点都可以用(x,y)来表示。因为每一个位置(x,y)都对应了那个地方山的高度z,那么z就成了一个关于x和y的函数,记做z=f(x,y)。因为山的高度z需要两个变量x和y才能确定,所以我们说z=f(x,y)是一个二元函数。
再例如,我房间的每一个点都有一个温度,所以房间的温度T是一个关于房间内空间点的函数,而房间里每一个点的位置需要长宽高三个变量(x,y,z)才能确定。所以,我房间里的温度T是一个关于x,y,z的三元函数,记做T=f(x,y,z)。
我们再来回过头来看看导数,在一元函数y=f(t)里,我们用dy/dt来表示这个函数的导数,导数越大的地方曲线变化得越快。因为一元函数的图像是一条曲线,曲线上的一个点只有一个方向(要么往前,要么往后,反正都是沿着x轴方向),所以我们可以直接用dy/dt表示函数变化得有多快。但是,如果这个函数不是一元函数,而是二元、三元等多元函数呢?
比如山的高度z是关于位置x,y的二元函数z=f(x,y),这时候地面上的每一个点(x,y)都对应一个值,它的函数图像就是一个曲面(如山的表面),而不再是一条曲线。而曲面上的每一个点有无数个方向(前后左右360°都可以),x和y只是这无数方向中的两个,那我们要如何把握这无数个方向上的高度变化快慢呢?
当然,我们不可能把这无数个方向都一一找出来,也没这个必要。一个平面上有无数个点,但是我只用x和y这两个方向组成的(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。
05. 全微分
有了偏导数的概念,我们就有办法写出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轴方向的倾斜度(即偏导数)是多少,那我就知道你爬山的纯高度变化有多少(又是几近大废话~)。
我们费了这么多劲就为了推出这个公式,那么这个公式里肯定隐藏了什么重要的东西。不过,现在这种形式还不容易看清楚,我们还得稍微了解一点矢量分析的内容,把公式拆成矢量点乘的形式,那就明显了。
06. 再谈矢量点乘
关于矢量点乘的事情,我在积分篇的第六节就已经说过一次了,因为电场的通量Φ就是电场E和面积a的点乘:Φ=E·a。因为矢量是既有大小又有方向的量,而我们小时候学习的乘法它只管大小不管方向,所以两个矢量之间就得重新定义一套乘法规则,而最常见的就是点乘(符号为‘·’)。
两个矢量OA、OB的点乘被定义为:OA·OB=|OA||OB|Cosθ(矢量的表示原本是在它头顶上加一个箭头,但是这里不方便这样表示,那就用黑体表示了)。它表示一个矢量OA在另一个矢量OB上的投影OC(OC=|OA| Cosθ)和另一个矢量的大小的乘积,可见两个矢量点乘之后的结果是一个标量(只有大小没有方向)。
这些内容我在上一篇都已经说了,这篇文章我们再来看看矢量点乘的几个性质。
性质1:点乘满足交换律,也就是说OA·OB=OB·OA。这个很明显,因为根据定义,前者的结果是|OA||OB| Cosθ,后者的结果是|OB||OA| Cosθ,它们明显是相等的。
性质2:点乘满足分配律,也就是说OA·(OB+OC)=OA·OB+OA·OC。这个稍微复杂一点,我这里就不作证明了,当做习题留给大家~
性质3:如果两个矢量相互垂直,那么它们点乘的结果为0。这个也好理解,如果两个矢量垂直,那么一个矢量在另一个矢量上的投影不就是一个点了么?一个点的大小肯定就是0啊,0乘以任何数都是0。如果大家学习了三角函数,从Cos90°=0一样一眼看出来。
性质4:如果两个矢量方向一样,那么它们点乘的结果就是他们大小相乘。理解了性质3,理解4就非常容易了,从cos0°=1也能一眼便知。
此外要注意的是,点乘是不满足结合律的,也就是说没有(OA·OB)·OC=OA·(OB·OC),为什么?因为两个矢量点乘之后的结果是一个标量,你再让一个标量去点乘另一个矢量压根就没有意义,点乘是两个矢量之间的运算。
我们小学就开始学的加法、乘法满足交换律、结合律、分配律,而矢量的点乘除了不能用结合律以外,其它的都满足。我这样写是为了告诉大家:点乘虽然是一种新定义的运算,但是它和我们平常接触的加法、乘法还是很类似的,大家不用对这种陌生的运算产生未知的恐惧。
07. 坐标系下的点乘
一个矢量有大小又有方向,我们通常是用一个箭头来表示的,箭头的方向就代表了矢量的方向,而箭头的长短就代表了矢量的大小。如果我们这时候建立一个坐标系,把这个箭头的一端移动到坐标原点,那么箭头的另一端就会固定在坐标系的某个点上,这样的话,我们就可以用一个坐标点来表示一个矢量了。
如上图,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。
这样的话,我任意一个矢量(x1,y1)都可以写成x1x+y1y。于是我就成功的把那个括号给丢了,把坐标表示的矢量变成了我们熟悉的加法运算。这里我们要特别区分:x1,y1是坐标,是数,是标量,而黑体的x,y代表的是单位矢量。那么矢量的点乘就可以写成这样:(x1,y1)·(x2,y2)=(x1x+y1y)·(x2x+y2y)。因为点乘是满足分配律(见性质2)的,所以我们可以把上面的结果直接完全展开成:x1x2xx+x1y2xy+y1x2yx+y1y2yy。
然后下面是重点:因为矢量x和y是分别沿着x轴和y轴的,所以它们是相互垂直的,而根据性质3,两个矢量如果相互垂直,它们的点乘结果就是0。也就是说,xy=yx=0,那么我们展开式的中间两项x1y2xy+y1x2yx就直接等于0。而根据性质4,xx= yy=1(因为x和y都是长度为1的单位矢量,自己跟自己点乘方向肯定一样)。
于是,我们就可以发现两个矢量点乘之后的结果只剩下第一项和第四项的系数部分了,也就是说:(x1,y1)·(x2,y2)=(x1x+y1y)·(x2x+y2y)= x1x2 +y1y2。
08. 梯度的诞生
对于很多高中生来说,这只是一个熟悉得不能再熟悉的结论,但是我还是从头到尾给大家扎扎实实的推导了一遍。长尾科技不喜欢那种凭空突然冒出一个结论的感觉,所以我也希望读者看我的文章,每个结论得出来都是踏踏实实的,都是严密的逻辑推导出来的。这个式子有什么用呢?我们看看它的后面一半(带箭头的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的概念。不是很理解的朋友可以好好再看一看上面的文章,再想一下,长尾君基本上是从零开始一步一步写到这里来的,只要耐心看肯定能看懂~
搞懂了这些事情的来龙去脉之后,我们就来重点看看我们引出来的▽z,也就是z的梯度。
09. 梯度的性质
这个梯度我们要怎么去看呢?首先▽z是一个矢量,是矢量就既有大小又有方向,我们先来看看梯度的方向。
上面我们已经得到了dz=▽z·dl,把dz表示成了两个矢量的点乘,那我们再根据矢量点乘的定义把它们展开,就可以写成这样:
这个dz则表示山的高度的一个微小变化,那么,沿着哪个方向走这个变化是最快的呢?也就是说我选择哪个方向会使得dz的变化最大?
Cosθ表示的是直角三角形里邻边和斜边的比值,而斜边总是比两个直角边大的,所以它的最大值只能取1(极限情况,θ=0°的时候),最小为0(θ=90°)。而根据上面的dz=|▽z||dl|cosθ,显然你要让dz取得最大值,就必须让cosθ取最大值1,也就是必须让▽z和dl这两个矢量的夹角θ=0°。
两个矢量的夹角等于0是什么意思?那就是这两个矢量的方向一样啊。也就是说:如果我们移动的方向(dl的方向)跟梯度▽z的方向一致的时候,dz的变化最大,我们高度变化最大。这就告诉我们:梯度▽z的方向就是高度变化最快的方向,就是山坡最陡的方向。
假设你站在一个山坡上四处遥望,那个最陡的地方就是梯度的方向,如果你去测量这个方向的斜率,那这就是梯度的大小。所以,梯度这个名字还是非常形象的。
10. ▽算子
我们再仔细看一下梯度▽z的表示:
这是一个矢量,但是它看起来好像是▽和一个标量z“相乘”,我们把这个z提到括号的外面来,这时候这个梯度▽z就可以写成这样:
所以,如果把▽单独拎出来,就得到了这样一个东西:
这个东西就值得我们玩味了,这是啥?▽z表示的是二元函数z=f(x,y)的梯度,也就是说我们先有一个函数z,然后我们把这个▽往函数z前面一放,我们就得到z的梯度。从函数z得到z的梯度的具体过程就是对这个函数z分别求x的偏导和y的偏导。
也就是说,单独的▽是这么个东西:我▽自己本身并不是什么具体的东西,我需要你给我一个函数,然后我对你这个函数进行一顿操作(求x和y的偏导),最后返回一个这个函数的梯度给你。这就像是有一个特定功能的模具:你给我一堆面粉,我一顿处理之后返回你一个饼。但是显然的,它并不是面粉,也不是饼,它单独的存在没有什么意义,它一定要跟面粉结合才能产生有具体意义的东西。
这种东西叫算子,▽就叫▽算子。基于▽算子的巨大影响力,它又有一大堆其他的名字:从它的具体功能上来看,它被称为矢量微分算子;因为它是哈密顿引入进来的,所以它又被称为哈密顿算子;从读音上来说,它又被称为nabla算子或者del算子。这些大家了解一下,知道其他人在谈论这个的时候都是在指▽算子就行了。
11. 梯度、散度和旋度
▽算子不是一个矢量,除非你把它作用在一个函数上,否则它没啥意义。但是,它在各个方面的表现确实又像一个矢量,只要你把▽算子的“作用”看成矢量的“相乘”。
一个矢量一般来说有3种“乘法”:
1、矢量A和一个标量a相乘:aA。比如我把一个矢量A大小变为原来的2倍,方向不变,那么这时候就可以写成2A。
2、矢量A和一个矢量B进行点乘:A·B。这个点乘我们上面介绍很多了,A·B=|A||B|Cosθ,这里就不说了。
3、矢量A和一个矢量B进行叉乘:A×B。这个叉乘跟点乘类似,也是我们单独针对矢量定义的另外一种乘法,|A×B|=|A||B|Sinθ。大家可以看到,这个叉乘跟点乘唯一的区别就是:点乘是两个矢量的大小乘以它们的余弦值Cosθ,叉乘是两个矢量的大小乘以它们的正弦值Sinθ(在直角三角形里,角的对边和斜边的比为正弦Sinθ,邻边和斜边的比值为余弦Cosθ)。
那么,同样的,我们的▽算子也有3种作用方式:
1、▽算子作用在一个标量函数z上:▽z。这个▽z我们上面说过了,它表示函数z的梯度,它表示这个函数z变化最快的方向。
2、▽算子跟一个矢量函数E点乘:▽·E。这就表示E的散度,我们开篇讲的高斯电场定律的左边就是电场E的散度,它就是表示成▽·E这样。
3、▽算子跟一个矢量函数E叉乘:▽×E。它叫E的旋度,这个我们后面会再详细说。
这样,我们就以一种很自然的方式引出了这三个非常重要的概念:梯度(▽z)、散度(▽·E)和旋度(▽×E)。大家可以看到,▽算子的这三种作用跟矢量的三种乘法是非常相似的,只不过▽是一个算子,它必须作用在一个函数上才行,所以我们把上面的标量和矢量换成了标量函数和矢量函数。
我们在描述山的高度的函数z=f(x,y)的时候,不同的点(x,y)对应不同的山的高度,而山的高度只有大小没有方向,所以这是个标量函数,我们可以求它的梯度▽z。但是,电场E既有大小又有方向,这是一个矢量,所以我们可以用一个矢量函数E=f(x,y)表示空间中不同点(x,y)的电场E的分布情况。那么对这种矢量函数,我们就不能去求它的梯度了,我们只能去求它的散度▽·E和旋度▽×E。
为了让大家对这些能够有更直观的概念,我们接下来就来仔细看看电场的散度▽·E。
12. 电场的散度
当我们把电场的散度写成▽·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方向上的两个函数,然后分别对它们求偏导,最后再把结果加起来就行了。
为了让大家对这个有个更直观的概念,我们来看两个小例子:
例1:求函数y=2x+1的导数。
这个函数的图像是一条直线(不信的可以自己去找一些x的值,代入进去算算y的值,然后把这些点画在图上),它的斜率是2,也就是说导数是2。也就是说,对于一次函数(最多只有x,没有x的平方、立方……),它的导数就是x前面的系数(2x前面的2),而后面的常数(1)对导数没有任何影响。
例2:求电场E=2x+yy的散度。
我们先来看看这个电场E,它在x方向上(2x)的系数是2,也就是说它的电场强度是不变的,一直都是2。但是,在y方向上(yy)的系数是y,也就是说当我沿着y轴越来越远的时候,这个系数y也会越来越多,这就表示y方向上的电场强度会越来越大。
所以E=2x+yy描述的是这样一个在x轴方向上不变,在y轴方向上不断变大的电场。要求这个电场的散度,根据上面的式子,我们得先求出电场的偏导数,那偏导数要怎么求呢?还记得我们是怎么得到偏导数这个概念的么?我们是固定y的值,也就是假设y的值不变,把y看作一个常数,这时候求得了对x的偏导数;同样,把x当做一个常数,求函数对y的偏导数。
那么,当我们求函数对x的偏导数∂E/∂x时,我们可以把y当作常数(就像例1中后面的1一样)。如果y是常数,x方向前面的系数又是2,也是常数,所以这整个就变成了一个常数(常数的导数为0),所以∂E/∂x=0。同样,当我们求y的偏导的时候,就把x都看成常数(导数为0),而y方向前面的系数为y(导数为1),所以∂E/∂y=0+1=1。
那么电场E的散度▽·E就可以表示成这两个偏导数的和:▽·E=∂E/∂x+∂E/∂y=0+1=1,也就是说,电场E的散度为1。
这虽然是一个非常简单的求电场散度的例子,但是却包含了我们求偏导,求散度的基本思想。通过这种方式,我们可以很轻松的就把电场E的散度▽·E求出来了。
补了这么多的数学和推导,我们现在有了一个定义良好,计算方便的散度▽·表达式了,但是,你还记得我们在开始讲到的散度的定义么?我们最开始是怎样引入散度的呢?
我们是从麦克斯韦方程组的积分形式引入散度的。高斯电场定律说通过一个闭合曲面的电通量跟这个闭合曲面包含的电荷量成正比,而且这个曲面可以是任意形状。然后我们为了从宏观进入微观,就让这个曲面不停地缩小缩小,当它缩小到无穷小,缩小到只包含了一个点的时候,这时候我们就说通过这个无穷小曲面的通量和体积的比就叫散度(用div表示)。
也就是说,我们最开始从无穷小曲面的通量定义来的散度和我们上面通过偏导数定义来的散度▽·指的是同一个东西。即:
13. 为何这两种散度是等价的?
很多人可能觉得难以理解,这两个东西的表达形式和来源都完全不一样,它们怎么会是同一个东西呢?但是它们确实是同一个东西,那我们为什么要弄两套东西出来呢?在最开始我也说了,通过无穷小曲面的通量定义的散度很容易理解,跟麦克斯韦方程组的积分形式的通量也有非常大的联系,但是这种定义不好计算(上面的例2,你用这种方式去求它的散度试试?),所以我们需要找一种能方便计算、实际可用的方式,这样才出现了▽·形式的散度。
至于为什么这两种形式是等价的,我给大家提供一个简单的思路。因为这毕竟是面向大众的科普性质的文章,具体的证明过程我就不细说了。真正感兴趣的朋友可以顺着这个思路去完成自己的证明,或者来我的社群(回复“社群”即可)里讨论。
证明思路:我们假设有一个边长分别为Δx、Δy、Δz的小长方体,空间中的电场为E(x,y,z),然后假设在这个长方体的正中心有一个点(x,y,z),那么这个电场通过这个长方体前面(沿着x轴正方向)的电场就可以表示为:Ex(x+Δx/2,y,z)。Ex表示电场在x方向上的分量(因为我们是考虑长方体上表面的通量,所以只用考虑电场的x分量),因为中心坐标为(x,y,z),那么沿着x轴移动到表面的坐标自然就是(x+Δx/2,y,z)。而这个面的面积为ΔyΔz,那么通过前面的电通量就可以写成:Ex(x+Δx/2,y,z)·ΔyΔz。
同样的,通过长方体后面(沿着x轴的负方向)的电通量,就可以写成Ex(x-Δx/2,y,z)·ΔyΔz。因为这两个面的方向是相反的(前面后面,一个沿着x轴正方向,一个沿着负方向),所以,这两个沿着x轴方向的面的电通量之和Φx就应该是两者相减:Φx=(Ex(x+Δx/2,y,z)·ΔyΔz- Ex(x-Δx/2,y,z)·ΔyΔz)。
如果我们两边都除以Δv(其中,Δv=ΔxΔyΔz),那么就得到:Φx/Δv=(Ex(x+Δx/2,y,z)- Ex(x-Δx/2,y,z))/Δx,然后你会发现等式的右边刚好就是偏导数的定义(标准的极限定义)。也就是说,电场通过沿着x轴的两个面(前后两面)的通量之和就等于电场的x分量对x的偏导数:Φx/Δv=∂Ex/∂x。
同样的,我们发现电场沿着y轴的两面(左右两面)和z轴的两面(上下两面)的电通量之和分别就等于电场的y分量和z分量对y和z的偏导:Φy/Δv=∂Ey/∂y,Φz/Δv=∂Ez/∂z。然后我们把这三个式子加起来,左边就是电场通过六个面的通量除以体积,也就是通过这个长方体的通量除以体积,右边就是我们▽·E的形式,这分别就是我们上面两种散度的表示方式,证明完成。
这个证明一时半会没看懂也没关系,感兴趣的可以后面慢慢去琢磨。我只是想通过这种方式让大家明白通过某一方向的两个面的通量跟这方向的偏导数之间是存在这种对应关系的,这样我们就容易接受无穷小曲面的通量和▽·这两种散度的定义方式了。
这两种散度的定义方式各有所长,比如我们在判断某一点的散度是否为零的时候,我用第一个定义,去看看包含这个点的无穷小曲面的通量是不是为零就行了。如果这一点有电荷,那么这个无穷小曲面的电通量肯定就不为零,它的散度也就不为零;如果这个无穷小曲面没有包含电荷,那这一点的散度一定为0,这就是高斯电场定律的微分方程想要告诉我们的东西。但是,如果你要计算这一点的散度是多少,那还是乖乖的拿起▽·去计算吧。
14. 散度的几何意义
此外,跟梯度一样,散度这个名字也是非常形象的。很多人会跟你说散度表示的是“散开的程度”,这种说法很容易让初学者误解或者迷惑,比如一个正电荷产生的产生的如下的电场线,它看起来是散开的,所以很多就会认为这里所有的点的散度都是不为零的,都是正的。
但是,根据我们上面分析,散度反映的是无穷小曲面的通量,这直接跟这一点是否有电荷对应。那么,这个图的中心有一个正电荷,那么这点的散度不为零没毛病,但是其他地方呢?其他地方看起来也是散开的,但是其他地方并没有电荷,没有电荷的话,其他点电场的散度就应该为0(因为这个地方无穷小曲面的通量有进有出,它们刚好抵消了),而不是你看起来的好像是散开的,所以为正。
也就是说,对于一个点电荷产生的电场,只有电荷所在的点的散度不为0,其他地方的散度都为0。我们不能根据一个电场看起来是散开的就觉得这里的散度都不为0,那么,这个散开到底要怎么理解呢?
你可以这么操作:你把电场线都想象成水流,然后拿一个非常轻的圆形橡皮筋放到这里,如果这个橡皮筋的面积变大,我们就说这个点的散度为正,反正为负。如果你把橡皮筋丢在电荷所在处,那么这点所有方向都往外流,那么橡皮筋肯定会被冲大(散度为正);但是在其他地方,橡皮筋会被冲走,但是不会被冲大(散度为0),因为里外的冲力抵消了。这样的话,这种散开的模型跟我们无穷小曲面的通量模型就不再冲突了。
15. 方程一:高斯电场定律
说了这么多,又是证明不同散度形式(无穷小曲面的通量和▽·)的等价性,又是说明不同散度理解方式的同一性(无穷小曲面的通量和散开的程度),都是为了让大家从更多的维度全方位的理解散度的概念,尽量避开初学者学习散度会遇到的各种坑。理解了这个散度的概念之后,我们再来看麦克斯韦方程组的第一个方程——高斯电场定律的微分形式就非常容易理解了:
方程的左边▽·E表示电场在某一点的散度,方程右边表示电荷密度ρ和真空介电常数的比值。为什么右边要用电荷密度ρ而不是电荷量Q呢?因为散度是无穷小曲面的通量跟体积的比值,所以我们的电量也要除以体积,电量Q和体积V的比值就是电荷密度ρ。对比一下它的积分形式:
两边都除以一个体积V,然后曲面缩小到无穷小:左边的通量就变成了电场的散度▽·E,右边的电荷量Q就变成了电荷密度ρ,完美!
麦克斯韦方程组的积分形式和微分形式是一一对应的,理解这种对应的关键就是理解散度(和后面的旋度)这两种不同定义方式背后的一致性,它是沟通积分和微分形式的桥梁。理解了它们,我们就能在这两种形式的切换之间如鱼得水,我们就能一看到积分形式就能写出对应的微分形式,反之亦然。
16. 方程二:高斯磁场定律
理解了高斯电场定律的微分形式,那么高斯磁场定律的微分形式就能轻松写出来了。因为现在还没有找到磁单极子,磁感线都是闭合的曲线,所以闭合曲面的磁通量一定恒为0,这就是高斯磁场定律积分形式的思想:
那么,我们一样把这个曲面缩小到无穷小,通过这个无穷小曲面的磁通量就叫磁场的散度,那么方程的左边就变成了磁场的散度,而右边还是0。也就是说:磁场的散度处处为0。所以,麦克斯韦方程组的第二个方程——高斯磁场定律的微分形式就是:
17. 旋度
静电和静磁的微分形式我们已经说完了,那么接下来就是磁如何生电的法拉第定律了。关于法拉第是如何通过实验一步一步发现法拉第定律的内容,我在积分篇里已经详细说了,这里就不再多说。对法拉第定律的基本思想和积分形式的内容还不太熟悉的请先去看上一篇积分篇的内容。
法拉第定律是法拉第对电磁感应现象的一个总结,他发现只要一个曲面的磁通量(B·a)发生了改变,那么就会在曲面的边缘感生出一个旋涡状的电场E出来。这个旋涡状的感生电场我们是用电场的环流来描述的,也就是电场沿着曲面边界进行的线积分。
用具体的公式表示就是这样:
公式左边是电场E的环流,用来描述这个被感生出来的电场,而公式的右边是磁通量的变化率,用来表示磁通量变化的快慢。
这个法拉第定律是用积分形式写的,我们现在要得到它的微分形式,怎么办?那当然还是跟我们上面的操作一样:从积分到微分,我把它无限缩小就行了。那么,这里我们把这个非闭合曲面缩小缩小,一直缩小到无穷小,那么我们这里就出现了一个无穷小曲面的环流。
还记得我们怎么定义散度的么?散度就是通过无穷小闭合曲面的通量和闭合曲面体积的比值,而我们这里出现了一个无穷小非闭合曲面的环流,因为非闭合曲面就没有体积的说法,只有面积。那么,通过无穷小非闭合曲面的环流和曲面面积的比值,会不会也有是一个另外什么量的定义呢?
没错,这确实是一个全新的量,而且这个量我们在前面稍微提到了一点,它就是旋度。我们把▽算子跟矢量做类比的时候,说一个矢量有三种乘法:跟标量相乘、点乘和叉乘。那么同样的,▽算子也有三种作用:作用在标量函数上叫梯度(▽z),以点乘的方式作用在矢量函数上被称为散度(▽·z),以叉乘的方式作用在矢量函数上被称为旋度(▽×z)。
也就是说,我们让▽算子以叉乘的方式作用在电场E上,我们就得到了电场E的旋度▽×E,而这个旋度的另一种定义就是我们上面说的无穷小非闭合曲面的环流和这个曲面的面积之比。因为旋度的英文单词是curl,所以我们用curl(E)表示电场的旋度。所以,我们就可以写下下面这样的式子:
跟散度的两种定义方式一样,我们这里的旋度也有▽×和无穷小曲面的环流两种表述方式。在散度那里,我给大家证明了那两种散度形式等价性,在旋度这里我就不再证明了,感兴趣的朋友可以按照类似的思路去尝试证明一下。
18. 矢量的叉乘
因为旋度是▽算子以叉乘×的方式作用在矢量场上,所以这里我们来简单的看一下叉乘。两个矢量A和B的点乘被定义为:A·B=|A||B|Cosθ,它们的叉乘则被定义为|A×B|=|A||B|Sinθ,其中θ为它们的夹角。单从这样看,它们之间的差别好像很小,只不过一个是乘以余弦Cosθ,另一个是乘以正弦Sinθ。
此外,两个矢量点乘的结果是一个标量,两个矢量叉乘的结果却是一个矢量。所以,|A×B|只是表示叉乘的大小,叉乘的方向要使用右手定则去判断(右手四指从第一个矢量A指向第二个矢量B,大拇指的方向就是叉乘的方向)。
从它们的几何意义来说,点乘表示的是投影,因为|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的面积。
关于矢量的叉乘就说这么多,在前面讲矢量点乘的时候我还详细介绍了点乘的性质和坐标运算的方法,那是因为为了自然的引出▽算子,不得不讲那些。叉乘也有类似的性质和坐标运算的法则,这个在网上随便一搜或者找一本任意矢量分析的书都能找到。而且,你现在不会熟练的进行叉乘运算,并不会影响你对麦克斯韦方程组的微分形式的理解,这里了解一下它的定义和几何意义就行了。
19. 方程三:法拉第定律
好,知道了矢量的叉乘,知道了▽×E可以表示电场的旋度,而且知道旋度的定义是:无穷小非闭合曲面的环流和这个曲面的面积之比。那我们再来回过头看一看法拉第定律的积分形式:
公式的左边是电场的环流,右边是磁通量的变化率,它告诉我们变化的磁通量会在曲面边界感生出电场。我在积分篇里说过,磁通量(B·a)的变化可以有两种方式:磁场(B)的变化和通过曲面面积(S)的变化,我们上面这种方式是把这两种情况都算在内。但是,还有的学者认为只有磁场(B)的变化产生的电场才算法拉第定律,所以法拉第定律还有另外一个版本:
这个版本的把原来对整个磁通量(B·da)的求导变成了只对磁感应强度B的求偏导,这就把磁感线通过曲面面积变化的这种情况给过滤了。
在积分形式里有这样两种区别,但是在微分形式里就没有这种区分了。为什么?你想想我们是怎么从积分变到微分的?我们是让这个曲面不停的缩小缩小,一直缩小到无穷小,这个无穷小的曲面就只能包含一个没有大小的点了,你还让它的面积怎么变?所以我们的微分形式就只用考虑磁感应强度B的变化就行了(对应后面那个法拉第定律)。
我们现在假设把那个曲面缩小到无穷小,方程的左边除以一个面积ΔS,那就是电场的旋度▽×E的定义:
左边除了一个面积ΔS,那右边也得除以一个面积,右边本来是磁感应强度的变化率(∂B/∂t)和面积的乘积,现在除以一个面积,那么剩下的就是磁感应强度的变化率∂B/∂t了。那么,麦克斯韦方程组的第三个方程——法拉第定律的微分形式自然就是这样:
简洁吧?清爽吧?这样表示之后,法拉第定律的微分形式看起来就比积分形式舒服多了,而且它还只有这一种形式。直接从方程上来看,它告诉我们某一点电场的旋度等于磁感应强度的变化率。简单归简单,要理解这种公式,核心还是要理解左边,也就是电场的旋度▽×E。
20. 旋度的几何意义
我们知道旋度的定义是无穷小曲面的环流和面积的比值,但是它既然取了旋度这个名字,那么它跟旋转应该还是有点关系的。我们变化的磁场感生出来的电场也是一个旋涡状的电场。那么,是不是只要看起来像漩涡状的矢量场,它就一定有旋度呢?
这个问题我们在讨论散度的时候也遇到过,很多初学者认为只要看起来发散的东西就是有散度的,然后我们通过分析知道这是不对的。一个点电荷产生静电场,只要在电荷处散度不为零的,在其他地方,虽然看起来是散开的,其实它的散度是零。如果我们放一个非常轻的橡皮筋在上面,除了电荷所在处,其它地方这个橡皮筋是不会被撑开的(即便会被冲走),所以其他地方的散度都为零。
同样的,在旋度这里,一个变换的磁场会产生一个旋涡状的电场,在旋涡的中心,在磁场变化的这个中心点这里,它的旋度肯定是不为零的。但是,在其它地方呢?从公式上看,其它地方的旋度一定为零,为什么?因为其他地方并没有变化的磁场啊,所以按照法拉第定律的微分形式,没有变化的磁场的地方的电场的旋度肯定是0。
跟散度一样,我们不能仅凭一个感生电场是不是旋转状的来判断这点旋度是否为0,我们也需要借助一个小道具:小风车。我们把一个小风车放在某一点上,如果这个风车能转起来,就说明这点的旋度不为0。你只要把风车放在感生电场中心以外的地方,就会发现如果外层的电场线让小风车顺时针转,内层的电场线就会让小风车逆时针转,这两股力刚好抵消了。最终风车不会转,所以旋度为0。
如果大家能理解静电场除了中心点以外的地方散度处处为零,那么理解感生电场除了中心点以外的地方旋度处处为零就不是什么难事。在非中心点的地方,散度的流入流出两股力量抵消了,旋度顺时针逆时针的两股力量抵消了,为什么刚好他们能抵消呢?本质原因还是因为这两种电场都是随着距离的平方反比减弱。如果它们不遵守平方反比定律,那么你去计算里外的散度和旋度,它们就不再为零。
关于旋度的事情就先说这么多,大家如果理解了旋度,对比法拉第定律的积分方程,要理解它的微分方程是很容易的。我前面花了很大的篇幅给大家讲了矢量的点乘和散度,作为类比,理解矢量的叉乘和旋度也不是什么难事,它们确实太相似了。
21. 方程四:安培-麦克斯韦定律
讲完了磁生电的法拉第定律,我们麦克斯韦方程组就只剩最后一个电生磁的安培-麦克斯韦定律了。它描述的是电流和变化的电场如何产生旋涡状的感生磁场的,因为它电的来源有电流和变化的电场两项,所以它的形式也是最复杂的。方程的积分形式如下(具体过程见积分篇):
左边的磁场的环流,右边是曲面包围的电流(带enc下标的I)和电场的变化率。它告诉我们,如果我们画一个曲面,通过这个曲面的电流和这个曲面里电通量的变化会在曲面的边界感生出一个旋涡状的磁场出来,这个旋涡状的磁场自然是用磁场的环流来描述。
可以想象,当我们用同样的方法把这个曲面缩小到无穷小的时候,如果我们在方程的左右两边都除以这个曲面的面积,那么方程的左边就成了磁场B的旋度▽×B,右边的两项除以一个面积会变成什么呢?
电通量的变化率除以面积之后就剩下电场的变化率∂E/∂t,这个跟法拉第定律的磁通量变化率除以面积类似。那么电流(带enc的I)那一项呢?电流I除以面积得到的东西是什么?这里我们定义了一个新的物理量:电流密度J。很显然,这个电流密度J就是电流除以电流通过的曲面的面积(注意不是体积)。相应的,电流密度的单位是A/m²(安培每平方米)而不是A/m³。
这样,麦克斯韦方程组的第四个方程——安培-麦克斯韦定律的微分形式就自然出来了:
虽然还是有点长,但是相比积分形式已经是相当良心了,它告诉我们某一点感生磁场的旋度▽×B等于电流密度J和电场变化率∂E/∂t两项的叠加。其实它跟积分形式讲的都是一回事,都是在说电流和变化的电场能够产生一个磁场,只不过积分形式是针对一个曲面,而微分形式只是针对一个点而已。
22. 麦克斯韦方程组
至此,麦克斯韦方程组的四个方程:描述静电的高斯电场定律、描述静磁的高斯磁场定律、描述磁生电的法拉第定律和描述电生磁的安培-麦克斯韦定律的微分形式就都说完了。把它们都写下来就是这样:
高斯电场定律说电场的散度跟这点的电荷密度成正比。
高斯磁场定律说磁场的散度处处为0。
法拉第定律说感生电场的旋度等于磁感应强度的变化率。
安培-麦克斯韦定律说感生磁场的旋度等于电流密度和电场强度变化率之和。
这里最引入注目的就是▽算子了,它以点乘和叉乘的方式组成的散度▽·和旋度▽×构成了麦克斯韦方程组微分形式的核心,这也是为什么我要花那么大篇幅从偏导数、矢量点乘一步步给大家引出▽算子的原因。也因为如此,微分篇的数学部分比积分篇要多得多得多,相对也要难以理解一些,所以大家要稍微有耐性一点。
从思想上来讲,微分形式和积分形式表达的思想是一样的,毕竟它们都是麦克斯韦方程组。它们的差别仅仅在于积分形式是从宏观的角度描述问题,我们面对的宏观上的曲面,所以要用通量和环流来描述电场、磁场;而微分形式是从微观的角度来描述问题,这时候曲面缩小都无穷小,我们面对的东西就变成了一个点,所以我们使用散度和旋度来描述电场、磁场。
这一点是特别要强调的:通量和环流是定义在曲面上的,而散度和旋度是定义在一个点上的。我们可以说通过通过一个曲面的通量或者沿曲面边界的环流,但是当我们在说散度和旋度的时候,我们都是在说一个点的散度和旋度。
理解了这些,你再回过头去看看麦克斯韦方程组的积分形式:
我们只不过把定义在曲面上的通量和环流缩小到了一个点,然后顺势在这个点上用利用通量和环流定义了散度和旋度。因为定义散度和旋度分别还除了一个体积和面积,所以我们积分方程的右边也都相应的除了一个体积和面积,然后就出现了电荷密度ρ(电荷Q除以体积V)和电流密度J(电流I除以面积S),电通量和磁通量那边除以一个体积和面积就剩下电场强度E和磁感应强度B的变化率,仅此而已。
如果我们从这种角度去看麦克斯韦方程组的积分形式和微分形式,你就会觉得非常的自然和谐。给出积分形式,你一想散度和旋度的定义,就可以立马写出对应的微分形式;给出微分形式,再想一想散度和旋度的定义,也能立刻写出对应的积分形式。当我想从宏观入手的时候,我看到了曲面上的通量和环流;当我想从微观入手的时候,我也能立马看到一个点上的散度和旋度。积分和微分形式在这里达成了一种和谐的统一。
23. 结语
到这里,麦克斯韦方程组的积分篇和微分篇就都说完了。在这两篇里先从零开始引出了通量,然后从通量的概念慢慢引出了麦克斯韦方程组的积分形式,再从积分形式用“把曲面压缩到无穷小”推出了对应的微分形式。整个过程我都极力做到“通俗但不失准确”,所有新概念的引出都会先做层层铺垫,绝不从天而降的抛出一个新东西。目的就是为了让多的人能够更好的了解麦克斯韦方程组,特别是让中学生也能看懂,能理解麦克斯韦方程组的美妙,同时也激发出他们对科学的好奇和热爱之心,打消他们对“高深”科学的畏惧之心:看,这么高大上的麦克斯韦方程组,年纪轻轻的我也能看懂,也能掌握~
此外,麦克斯韦方程组是真的很美,你掌握的物理知识越多,就会越觉得它美。我也更希望大家是因为它的美而喜欢这个方程组,而不仅仅是因为它的“重要性”。我们也都知道,麦克斯韦写出这套方程组以后,就从方程推导出了电磁波,当他把相关的参数代入进去算出电磁波的速度的时候,他惊呆了!他发现这个电磁波的速度跟人们实验测量的光速极为接近,于是他给出了一个大胆的预测:光就是一种电磁波。
可惜的是,英年早逝的麦克斯韦(48岁去世)并没能看到他的预言被证实,人类直到他去世9年后,也就是1888年才由赫兹首次证实了“光是一种电磁波”。那么,麦克斯韦是怎么从方程组导出电磁波的呢?既然我们已经学完了麦克斯韦方程组,想必大家也很知道如何从这套方程组推导出电磁波的方程,然后亲眼见证“电磁波的速度等于光速”这一奇迹时刻。这部分的内容,请继续看下篇。
如何从麦克斯韦方程组推出电磁波
在文章前两篇里,给大家介绍了麦克斯韦方程组的积分和微分形式。大家也都知道麦克斯韦从这套方程组里推导出了电磁波,然后通过计算发现电磁波的速度正好等于光速。于是,麦克斯韦就预言“光是一种电磁波”,这个预言后来被赫兹证实。
电磁波的发现让麦克斯韦和他的电磁理论走上了神坛,也让人类社会进入了无线电时代。你现在可以随时给远方的朋友打电话,能用手机刷长尾科技的文章,都跟电磁波有着密切的关系。那么,麦克斯韦到底是怎么从麦克斯韦方程组推导出电磁波方程的呢?这篇文章我们就来一起见证这一奇迹的时刻。
01. 什么是波?
要理解电磁波,首先我们得了解什么是波?有些人可能觉得这个问题有点奇怪,什么是波这还用问么?我丢一块石头到水里,水面上就会形成一个水波;我抖动一根绳子,绳子上就会就会出现一个波动。生活中还有很多这种波动现象,我虽然读书少,但是什么是波还是知道的。
没错,水波、绳子上的波动这些都是波,我在这里抛出“什么是波?”这个问题并不是想来掰指头数一数哪些东西是波,哪些不是,而是想问:所有这些叫作波的东西有什么共同的特征?我们如何用一套统一的数学语言来描述波?
我们研究物理,就是从万千变化的自然界的各种现象里总结出某种一致性,然后用数学的语言定量、精确的描述这种一致的现象。现在我们发现了水波、绳子上的波等许多现象都有这样一种波动现象,那我们自然就要去寻找这种波动现象背后统一的数学规律,也就是寻找描述波动现象的方程,即波动方程。
为了寻找统一的波动方程,我们先来看看最简单的波:抖动一根绳子,绳子上就会出现一个波沿着绳子移动,以恒定的频率抖动就会出现连续不断的波。
为了更好地研究绳子上的波动,我们先建立一个坐标系,然后把注意力集中到其中的一个波上。于是,我们就看到一个波以一定的速度v向x轴的正方向(右边)移动,如下图:
那么,我们该如何去描述这种波动呢?
首先,我们知道一个波是在不停地移动的,上图只是波在某个时刻的样子,它下一个时刻就会往右边移动一点。移动了多少也很好计算:因为波速为v,所以Δt时间以后这个波就会往右移动v·Δt的距离。
另外,我不管这个时刻波是什么形状的曲线,反正我可以把它看成一系列的点(x,y)的集合,这样我们就可以用一个函数y=f(x)来描述它(函数就是一种对应(映射)关系,在函数y=f(x)里,每给定一个x,通过一定的操作f(x)就能得到一个y,这一对(x,y)就组成了坐标系里的一个点,把所有这种点连起来就得到了一条曲线)。
然后,y=f(x)只是描述某一个时刻的波的形状,如果我们想描述一个完整动态的波,就得把时间t考虑进来。也就是说我们的波形是随着时间变化的,即:我绳子上某个点的纵坐标y不仅跟横轴x有关,还跟时间t有关,这样的话我们就得用一个二元函数y=f(x,t)来描述一个波。
这一步很好理解,它无非告诉我们波是随时间(t)和空间(x)变化的。但是这样还不够,世界上到处都是随着时间、空间变化的东西,比如苹果下落、篮球在天上飞,它们跟波的本质区别又在哪呢?
02. 波的本质
仔细想一下我们就会发现:波在传播的时候,虽然不同时刻波所在的位置不一样,但是它们的形状始终是一样的。也就是说前一秒波是这个形状,一秒之后波虽然不在这个地方了,但是它依然是这个形状,这是一个很强的限制条件。有了这个限制条件,我们就能把波和其它在时间、空间中变化的东西区分开了。
我们这样考虑:既然用f(x,t)来描述波,那么波的初始形状(t=0时的形状)就可以表示为f(x,0)。经过了时间t之后,波速为v,那么这个波就向右边移动了vt的距离,也就是把初始形状f(x,0)往右移动了vt,那么这个结果可以这样表示:f(x-vt,0)。
为什么把一个函数的图像往右移动了一段vt,结果却是用函数的自变量x减去vt,而不是加上vt呢?这是一个中学数学问题,我这里稍微帮大家回顾一下:你们想,如果我把一个函数图像f(x)往右移动了3,那么我原来在1这个地方的值f(1),现在就成了4这个地方的函数值。所以,如果你还想用f(x)这个函数,那肯定就得用4减去3(这样才能得到f(1)的值),而不是加3(4+3=7,f(7)在这里可没有什么意义)。
所以,如果我们用f(x,t)描述波,那么初始时刻(t=0)的波可以表示为f(x,0)。经过时间t之后的波的图像就等于初始时刻的图像往右移动了vt,也就是f(x-vt,0)。于是,我们就可以从数学上给出波运动的本质:
也就是说,只要有一个函数满足f(x,t)=f(x-vt,0),满足任意时刻的形状都等于初始形状平移一段,那么它就表示一个波。水波、声波、绳子上的波、电磁波、引力波都是如此,这也很符合我们对波的直观理解。
这里我们是从纯数学的角度给出了波的一个描述,下面我们再从物理的角度来分析一下波的形成原因,看看能不能得到更多的信息。
03. 张力
一根绳子放在地上的时候是静止不动的,我们甩一下就会出现一个波动。我们想一想:这个波是怎么传到远方去的呢?我们的手只是拽着绳子的一端,并没有碰到绳子的中间,但是当这个波传到中间的时候绳子确实动了,绳子会动就表示有力作用在它身上(牛爵爷告诉我们的道理),那么这个力是哪里来的呢?
稍微分析一下我们就会发现:这个力只可能来自绳子相邻点之间的相互作用,每个点把自己隔壁的点“拉”一下,隔壁的点就动了(就跟我们列队报数的时候只通知你旁边的那个人一样)这种绳子内部之间的力叫张力。
张力的概念也很好理解,比如我们用力拉一根绳子,我明明对绳子施加了一个力,但是这根绳子为什么不会被拉长?跟我的手最近的那个点为什么不会被拉动?
答案自然是这个点附近的点给这个质点施加了一个相反的张力,这样这个点一边被我拉,另一边被它邻近的点拉,两个力的效果抵消了。但是力的作用又是相互的,附近的点给端点施加了一个张力,那么这个附近的点也会受到一个来自端点的拉力,然而这个附近的点也没动,所以它也必然会受到更里面点的张力。这个过程可以一直传播下去,最后的结果就是这根绳子所有的地方都会张力。
而且,我们还可以断定:如果绳子的质量忽略不计,绳子也没有打结没有被拉长,那么绳子内部的张力处处相等(只要有一个点两边的张力不等,那么这个点就应该被拉走了,绳子就会被拉变形),这是个很重要的结论。
通过上面的分析,我们知道了当一根理想绳子处于紧绷状态的时候,绳子内部存在处处相等的张力。当一根绳子静止在地面的时候,它处于松弛状态,没有张力,但是当一个波传到这里的时候,绳子会变成一个波的形状,这时候就存在张力了。正是这种张力让绳子上的点上下振动,所以,分析这种张力对绳子的影响就成了分析波动现象的关键。
04. 波的受力分析
那么,我们就从处于波动状态的绳子中选择很小的一段AB,我们来分析一下这个小段绳子在张力的作用下是如何运动的。放心,我们这里并不会涉及什么复杂的物理公式,我们所需要的公式就一个,大名鼎鼎的牛顿第二定律:F=ma。
牛顿第一定律告诉我们“一个物体在不受力或者受到的合外力为0的时候会保持静止或者匀速直线运动状态”,那么如果合外力不为0呢?牛顿第二定律就接着说了:如果合外力F不为零,那么物体就会有一个加速度a,它们之间的关系就由F=ma来定量描述(m是物体的质量)。也就是说,如果我们知道一个物体的质量m,只要你能分析出它受到的合外力F,那么我们就可以根据牛顿第二定律F=ma计算出它的加速度a,知道加速度就知道它接下来要怎么动了。
牛顿第二定律就这样把一个物体的受力情况(F)和运动情况(a)结合起来了,我们想知道一个物体是怎么动的,只要去去分析它受到了什么力就行了,所以它牛。
再来看我们的波,我们从处于波动状态的绳子里选取很小的一段AB,我们想知道AB是怎么运动的,就要分析它受到的合外力。因为不考虑绳子的质量,所以就不用考虑绳子的重力,那么,我们就只要分析绳子AB两端的张力T就行了。
如上图,绳子AB受到A点朝左下方的张力T和B点朝右上方的张力T,而且我们还知道这两个张力是相等的,所以才把它都记为T。但是,我们知道波动部分的绳子是弯曲的,那么这两个张力的方向是不一样的,这一点从图中可以非常明显的看出来。我们假设A点处张力的方向跟横轴夹角为θ,B点跟横轴的夹角就明显不一样了,我们记为θ+Δθ。
因为绳子上的点在波动时是上下运动,所以我们只考虑张力T在上下方向上的分量,水平方向上的就不考虑了。那么,我们把AB两点的张力T都分解一下,稍微用一点三角函数的知识我们就能发现:B点处向上的张力为T·sin(θ+Δθ),A点向下的张力为T·sinθ。那么,整个AB段在竖直方向上受到的合力就等于这两个力相减:F= T·sin(θ+Δθ)-T·sinθ。
好了,按照牛顿第二定律F=ma,我们需要知道物体的合外力F、质量m和加速度a,现在我们已经知道了合外力F,那么质量m和加速度a呢?
05. 波的质量分析
质量好说,我们假设绳子单位长度的质量为μ,那么长度为Δl的绳子的质量就是μ·Δl。
但是,因为我们取的是非常小的一段,我们假设A点的横坐标为x,B点的横坐标为x+Δx,也就是说绳子AB在横坐标的投影长度为Δx,那么,当我们取的绳长非常短,波动非常小的时候,我们就可以近似用Δx代替Δl,这样绳子的质量就可以表示为:μ·Δx(本来我在考虑这里要不要再解释一下微积分思想,但是一想,会看这篇电磁波篇的,必须是已经提前看了麦克斯韦方程组的积分篇和微分篇,而我在那两篇里已经介绍过这种思想了,那这里就不说了~)。
质量搞定了,剩下的就是加速度a了。你可能以为我已经得到了合外力(F= T·sin(θ+Δθ)-T·sinθ)和质量m(μ·Δx),那么剩下肯定就是用合外力F除以质量m得到加速度a(牛顿第二定律),不不不,这样就不好玩了。我们还可以从另一个角度来得到加速度a,然后把它们作为拼盘拼起来。从哪里得到加速度呢a?从描述波的函数f(x,t)里。
06. 波的加速度分析
不知道大家还记得我们在前面说的这个描述波的函数y=f(x,t)么?这个函数的值y表示的是在x这个地方,时间为t的时候这一点的纵坐标,也就是波的高度。我们现在要求的也就是AB上下波动时的加速度,那么,怎么从这个描述点位置的函数里求出加速度a呢?
这里我们再来理解一下加速度a,什么叫加速度?从名字就可以感觉到,这个量是用来衡量速度变化快慢的。加速度嘛,肯定是速度加得越快,加速度的值就越大。假如一辆车第1秒的速度是2m/s,第2秒的速度是4m/s,那么它的加速度就是用速度的差(4-2=2)除以时间差(2-1=1),结果就是2m/s²。
再来回想一下,我们是怎么求一辆车的速度的?我们是用距离的差来除以时间差的。比如一辆车第1秒钟距离起点20米,第2秒钟距离起点50米,那么它的速度就是用距离的差(50-20=30)除以时间差(2-1=1),结果就是30m/s。
不知道大家从这两个例子里发现了什么没有?我用距离的差除以时间差就得到了速度,我再用速度的差除以时间差就得到了加速度,这两个过程都是除以时间差。那么,如果我把这两个过程合到一块呢?那是不是就可以说:距离的差除以一次时间差,再除以一次时间差就可以得到加速度?
这样表述并不是很准确,但是可以很方便的让大家理解这个思想。如果把距离看作关于时间的函数,我们对这个函数求一次导数(就是上面的距离差除以时间差,只不过趋于无穷小)就得到了速度的函数,对速度的函数再求一次导数就得到了加速度的表示。所以,我们把一个关于距离(位置)的函数对时间求两次导数,就可以得到加速度的表达式。
波的函数f(x,t)不就是描述绳子上某一点在不同时间t的位置么?那我们对f(x,t)求两次关于时间的导数,自然就得到了这点的加速度a。因为函数f是关于x和t两个变量的函数,所以我们只能对时间的偏导∂f/ ∂t,再求一次偏导数就加个2上去。于是我们就可以这样表示这点的加速度a=∂²f/ ∂t²(关于偏导数的介绍,微分篇里有详细叙述,这里不再说明)。
这样,我们就把牛顿第二定律F=ma的三要素都凑齐了:F= T·sin(θ+Δθ)-T·sinθ,m=μ·Δx,a=∂²f/ ∂t²。把它们集合在一起就可以召唤神,阿不,就可以写出AB的运动方程了:
这个用牛顿第二定律写出来的波动方程,看起来怎么样?嗯,似乎有点丑,看起来也不太清晰,方程左边的东西看着太麻烦了,我们还需要对它进行一番改造。那怎么改造呢?我们可以先把sinθ给干掉。
07. 方程的改造
为了能够顺利地干掉sinθ,我们先来回顾一下基本的三角函数:
如上图,右边是一个直角三角形abc,那么角θ的正弦值sinθ等于对边c除以斜边a,正切值tanθ等于对边c除以邻边b。
当这个角度θ还很大的时候,a比b要明显长一些。但是,一旦角度θ非常非常小,可以想象,邻边b和斜边a就快要重合了。这时候我们是可以近似的认为a和b是相等的,也就是a≈b,于是就有c/b≈c/a,即tanθ≈sinθ。
也就是说,在角度θ很小的时候,我们可以用正切值tanθ代替正弦值sinθ。我们假设这根绳子的扰动非常小,形变非常小,那么θ和θ+Δθ就都非常小,那么它们的正弦值就都可以用正切值代替。于是,那个波动方程左边的sin(θ+Δθ)-sinθ就可以替换为:tan(θ+Δθ)-tanθ。
为什么我们要用正切值tanθ代替正弦值sinθ呢?因为正切值tanθ还可以代表一条直线的斜率,代表曲线在某一点的导数。想想正切值的表达式tanθ=c/b,如果建一个坐标系,那么这个c刚好就是直线在y轴的投影dy,b就是在x轴的投影dx,它们的比值刚好就是导数dy/dx,也就是说tanθ=dy/dx。
然而,因为波的函数f(x,t)是关于x和t的二元函数,所以我们只能求某一点的偏导数,那么正切值就等于它在这个点的偏导数:tanθ=∂f/ ∂x。那么,原来的波动方程就可以写成这样:
这里我稍微解释一下偏导数的符号,我们用∂f/ ∂x表示函数f(x,t)的偏导数,这是一个函数,x可以取各种各样的值。但是如果我加一个竖线|,然后在竖线的右下角标上x+Δx就表示我要求在x+Δx这个地方的导数。
再来看一下这个图,我们已经约定了A点的横坐标为x,对应的角度为θ;B点的横坐标是x+Δx,对应的角度为θ+Δθ。所以,我们可以用x+Δx和x这两处的偏导数值代替θ+Δθ和θ这两处的正切值tan(θ+Δθ)和tanθ,所以波动方程才可以写成上面那样:
接着,如果我们再对方程的两边同时除以Δx,那左边就变成了函数∂f/ ∂x在x+Δx和x这两处的值的差除以Δx,这其实就是∂f/ ∂x这个函数的导数表达式。也就是说,两边同时除以一个Δx之后,左边就变成了偏导数∂f/ ∂x对x再求一次导数,那就是f(x,t)对x求二阶偏导数了。
上面我们用我们已经用∂²f/ ∂t²来表示函数对t的二阶偏导数,那么这里自然就可以用∂²f/ ∂x²来表示函数对x的二阶偏导数。然后两边再同时除以T,得到方程就简洁多了:
把方程左边的tan(θ+Δθ)-tanθ变成了函数f(x,t)对空间x的二阶偏导数,这个过程非常的重要,大家可以好好体会一下这个过程。正切值tanθ就是一阶导数,然后两个正切值的差除以自变量的变化就又产生了一次导数,于是总共就有了两阶,所以我们才能得到上面那个简洁的式子。
08. 经典波动方程
再看看方程右边的μ/T,如果你仔细去算一下μ/T的单位,你会发现它刚好就是速度平方的倒数,也就是说如果我们把一个量定义成T/μ的平方根,那么这个量的单位刚好就是速度的单位。可以想象,这个速度自然就是这个波的传播速度v:
这样定义速度v之后,我们最终的波动方程就可以亮相了:
这个方程就是我们最终要找的经典波动方程,为什么把它作做经典的波动方程呢?因为它没有考虑量子效应啊,在物理学里,经典就是非量子的同义词。如果我们要考虑量子效应,这个经典的波动方程就没用了,我们就必须转而使用量子的波动方程,那就是大名鼎鼎的薛定谔方程。
薛定谔就是从这个经典波动方程出发,结合德布罗意的物质波概念,硬猜出了薛定谔方程。这个方程让物理学家们从被海森堡的矩阵支配的恐惧中解脱了出来,重新回到了微分方程的美好世界。薛定谔方程虽然厉害,但是它并没有考虑狭义相对论效应,而高速运动(近光速)的粒子在微观世界是很常见的,我们也知道当物体接近光速的时候就必须考虑相对论效应,但是薛定谔方程并没有做到这一点。
最终让薛定谔方程相对论化是狄拉克,狄拉克把自己关在房间三个月,最终逼出了同样大名鼎鼎的狄拉克方程。狄拉克方程首次从理论上预言了反物质(正电子),虽然当时的科学家们认为狄拉克这是在胡闹,但是我国的物理学家赵忠尧先生却几乎在同时就首次在实验室里观测到了正负电子湮灭的情况。
另外,狄拉克的工作也推动了量子场论的诞生,打开了一扇让人无比神往的新世界大门。物理学家们沿着这条路驯服了电磁力、强力、弱力,建立起了粒子物理的标准模型,于是四海清平,天下大定,除了那该死的引力。这些精妙绝伦的故事我们后面再讲,如果把这些故事写成一本《量子英雄传》,嗯,一定不比金庸的武侠逊色~
好了,回归正题,看到这个经典波动方程到后面还能掀起那么大的浪来,是不是突然就对它肃然起敬了呢?我们这样一顿操作推导出了经典波动方程,有的朋友可能有点懵,没关系,我们再来捋一下。这个看着很复杂的,包含了二阶偏导数的方程其实就只是告诉我们:我们把这根绳子极小的一段看作一个质点,那么这个质点满足牛顿第二定律F=ma,仅此而已。
09. 复盘
我们整个推导过程不过就是去寻找F=ma中的这三个量。我们把绳子的张力在竖直方向做了分解,然后得到了它在竖直方向上的合力F(T·sin(θ+Δθ)-T·sinθ);我们定义了单位长度的质量μ,然后就可以计算那小段绳子的质量m(μ·Δx);我们通过对波的函数f(x,t)的分析,发现如果对这种表示距离(位移)的函数对时间求一次偏导数就得到了速度,再求一次偏导数就得到了加速度,于是我们就得到了这段绳子的加速度a(∂²f/ ∂t²)。然后我们就把这些量按照牛顿第二定律F=ma拼了起来。
在处理问题的过程中,我们做了很多近似:因为我们是取得很小的一段,那么我们就可以用Δx近似代替绳子的长度Δl;假设扰动很小,绳子偏离x轴很小,那么角度θ就很小,我们就近似用正切值tanθ代替正弦值sinθ。很多人乍一看,觉得这么严格的推导怎么能这么随意的近似呢?你这里近似那里近似,得到的最终结果还是准确的么?
要理解这个问题,就得正式去学习微积分了,我现在告诉你微积分的核心思想就是一种以直代曲的近似,你信么?微积分里就是用各种小段小段的直线去近似的代替曲线,但是得到的结果却是非常精确的。因为我们可以把这些线段取得非常非常的小,或者说是无穷小,那么这个误差也就慢慢变成无穷小了。所以我们在分析这根绳子的时候,也都强调了是取非常小的一段,给一个非常小的扰动,得到一个非常小的角度θ。
另外,tanθ就是一次导数,然后它们的差再除以一次Δx,就又出现了一次导数,所以方程的左边就出现了f(x,t)对位置x的两次偏导数。方程的右边就是函数f(x,t)对时间t求两次偏导数得到的加速度a(求一次导数得到速度,求两次就得到加速度)。
所以,虽然我们看到的是一个波动方程,其实它只是一个变装了的牛顿第二定律F=ma。理解这点,波动方程就没什么奇怪的了。我们再来仔细的审视一下这个方程:
这个波动方程的意义也很直观,它告诉我们f(x,t)这样一个随时间t和空间x变化的函数,如果这个二元函数对空间x求两次导数得到的∂²f/ ∂x²和对时间t求两次导数得到的∂²f/ ∂t²之间满足上面的那种关系,那么f(x,t)描述的就是一个波。
如果我们去解这个方程,我们得到的就是描述波的函数f(x,t)。而我们前面对波做数学分析的时候得到了这样一个结论:如果一个函数f(x,t)描述的波,那么就一定满足f(x,t)=f(x-vt,0)。所以,波动方程的解f(x,t)肯定也都满足前面这个关系,这一点感兴趣的朋友可以自己下去证明一下。
好了,经典的波动方程我们就先讲到这里。有了波动方程,你会发现我们通过几步简单的运算就能从麦克斯韦方程组中推导出电磁波的方程,然后还能确定电磁波的速度。
10. 真空中的麦克斯韦方程组
麦克斯韦方程组的微分形式是这样的:
这组方程的来龙去脉长尾科技在上一篇文章《最美的公式:你也能懂的麦克斯韦方程组(微分篇)》里已经做了详细的介绍,这里不再多说。这组方程里,E表示电场强度,B表示磁感应强度,ρ表示电荷密度,J表示电流密度,ε0和μ0分别表示真空中的介电常数和磁导率(都是常数),▽是矢量微分算子,▽·和▽×分别表示散度和旋度:
接下来我们的任务,就是看如何从这组方程里推出电磁波的方程。
首先,如果真的能形成波,那么这个波肯定就要往外传,在远离了电荷、电流(也就是没有电荷、电流)的地方它还能自己传播。所以,我们先让电荷密度ρ和电流密度J都等于0,当ρ=0,J=0时,我们得到的就是真空中的麦克斯韦方程组:
有些人觉得你怎么能让电荷密度ρ等于0呢?这样第一个方程就成了电场的散度▽·E=0,那不就等于说电场强度E等于0,没有电场了么?没有电场还怎么来的电磁波?
很多人初学者都会有这样一种误解:好像觉得电场的散度▽·E等于0了,那么就没有电场了。其实,电场的散度等于0,只是告诉你通过包含这一点的无穷小曲面的电通量为0,电通量为0不代表电场E为0啊,因为我可以进出这个曲面的电通量(电场线的数量)相等。这样有多少正的电通量(进去的电场线数量)就有多少负的电通量(出来的电场线数量),进出正负抵消了,所以总的电通量还是0。于是,这点的散度▽·E就可以为0,而电场强度E却不为0。
所以这个大家一定要区分清楚:电场E的散度为0不代表电场E为0,它只是要求电通量为0而已,磁场也一样。
这样我们再来审视一下真空中(ρ=0,J=0)的麦克斯韦方程组:方程1和2告诉我们真空中电场和磁场的散度为0,方程3和4告诉我们电场和磁场的旋度等于磁场和电场的变化率。前两个方程都是独立的描述电和磁,后两个方程则是电和磁之间的相互关系。我们隐隐约约也能感觉到:如果要推导出电磁波的方程,你肯定得把上面几个式子综合起来,因为波是要往外传的,而你上面单独的方程都只是描述某一点的旋度或者散度。
有一个很简单的把它们都综合在一起的方法:对方程3和方程4两边同时再取一次旋度。
方程3的左边是电场的旋度▽×E,对它再取一次旋度就变成了▽×(▽×E);方程3的右边是磁场的变化率,对右边取一次旋度也可以得到磁场B的旋度▽×B,这样不就刚好跟方程4联系起来了么?对方程4两边取旋度看起来也一样,这看起来是个不错的兆头。
可能有些朋友会有一些疑问:你凭什么对方程3和4的两边取旋度,而不取散度呢?如果感兴趣你可以两边都取散度试试,你会发现电场E的旋度取散度▽·(▽×E)的结果恒等于0。
这一点你看方程3 的右边会更清楚,方程3的右边是磁场的变化率,你如果对方程左边取散度,那么右边也得取散度,而右边磁场的散度是恒为0的(▽·B=0就是方程2的内容)。这样就得不出什么有意义的结果,你算出0=0能得到什么呢?
所以,我们现在的问题变成了:如何求电场E的旋度的旋度(▽×(▽×E))?因为旋度毕竟和叉乘密切相关,所以我们还是先来看看叉乘的叉乘。
11. 叉乘的叉乘
在积分篇和微分篇里,我已经跟大家详细介绍了矢量的点乘和叉乘,而且我们还知道点乘的结果A·B是一个标量,而叉乘的结果A×B是一个矢量(方向可以用右手定则来判断,右手从A指向B,大拇指的方向就是A×B的方向)。
而点乘和叉乘都是矢量之间的运算,那么A·B的结果是一个标量,它就不能再和其它的矢量进行点乘或者叉乘了。但是,A×B的结果仍然是一个矢量啊,那么按照道理它还可以继续跟新的矢量进行点乘或者叉乘运算,这样我们的运算就可以有三个矢量参与,这种结果我们就称为三重积。
A·(B×C)的结果是一个标量,所以这叫标量三重积;A×(B×C)的结果还是一个矢量,它叫矢量三重积。
标量三重积A·(B×C)其实很简单,我在微分篇说过,两个矢量的叉乘的大小等于它们组成的平行四边形的面积,那么这个面积再和一个矢量点乘一把,你会发现这刚好就是三个矢量A、B、C组成的平行六面体的体积。
这个大家对着上面的图稍微一想就会明白。而且,既然是体积,那么你随意更换它们的顺序肯定都不会影响最终的结果。我们真正要重点考虑的,还是矢量三重积。
矢量三重积A×(B×C),跟我们上面说电场E旋度的旋度▽×(▽×E)形式相近,密切相关。它没有上面标量三重积那样简单直观的几何意义,我们好像只能从数学上去推导,这个推导过程,哎,我还是直接写结果吧:
A×(B×C)=B(A·C)-C(A·B)。
结果是这么个东西,是不是很难看?嗯,确实有点丑。不过记这个公式有个简单的口诀:远交近攻。什么叫远交近攻呢?当年秦相范雎,啊不,A×(B×C)里的A距离B近一些,距离C远一些,所以A要联合C(A·C前面的符合是正号)攻打B(A·B前面的符号是负号),这样这个公式就好记了,感兴趣的可以自己去完成推导的过程。
12. 旋度的旋度
有了矢量三重积的公式,我们就来依样画葫芦,来套一套电场E的旋度的旋度▽×(▽×E)。我们对比一下这两个式子A×(B×C)和▽×(▽×E),好像只要把A和B都换成▽,把C换成E就行了。那么,矢量三重积的公式(A×(B×C)=B(A·C)-C(A·B))就变成了:
▽×(▽×E)=▽(▽·E)-E(▽·▽)。
嗯,▽(▽·E)表示电场E的散度的梯度,散度▽·E的结果是一个标量,标量的梯度是有意义的,但是后面那个E(▽·▽)是什么鬼?两个▽算子挤在一起,中间还是一个点乘的符号,看起来好像是在求▽的散度(▽·),可是▽是一个算子,又不是一个矢量函数,你怎么求它的散度?而且两个▽前面有一个电场E,怎么E还跑到▽算子的前面去了?
我们再看一下矢量三重积的公式的后面一项C(A·B)。这个式子的意思是矢量A和B先进行点乘,点乘的结果A·B是一个标量,然后这个标量再跟矢量C相乘。很显然的,如果是一个标量和一个矢量相乘,那么这个标量放在矢量的前面后面都无所谓(3C=C3),也就是说C(A·B)=(A·B)C。
那么,同样的,E(▽·▽)就可以换成(▽·▽)E,而它还可以写成▽²E,这样就牵扯出了另一个大名鼎鼎的东西:拉普拉斯算子▽²。
13. 拉普拉斯算子▽²
拉普拉斯算子▽²在物理学界可谓大名鼎鼎,它看起来好像是哈密顿算子▽的平方,其实它的定义是梯度的散度。
我们假设空间上一点(x,y,z)的温度由T(x,y,z)来表示,那么这个温度函数T(x,y,z)就是一个标量函数,我们可以对它取梯度▽T,因为梯度是一个矢量(梯度有方向,指向变化最快的那个方向),所以我们可以再对它取散度▽·。
我们利用我们在微分篇学的▽算子的展开式和矢量坐标乘法的规则,我们就可以把温度函数T(x,y,z)的梯度的散度(也就是▽²T)表示出来:
再对比一下三维的▽算子:
所以,我们把上面的结果(梯度的散度)写成▽²也是非常容易理解的,它跟▽算子的差别也就是每项多了一个平方。于是,拉普拉斯算子▽²就自然可以写成这样:
从拉普拉斯算子▽²的定义我们可以看到,似乎它只能对作用于标量函数(因为你要先取梯度),但是我们把▽²稍微扩展一下,就能让它也作用于矢量函数V(x,y,z)。我们只要让矢量函数的每个分量分别去取▽²,就可以定义矢量函数的▽²:
定义了矢量函数的拉普拉斯算子,我们稍微注意一下下面的这个结论(课下自己去证明):
然后再看看中间的那个东西,是不是有点眼熟?
我们在求电场旋度的旋度的时候,不就刚好出现了(▽·▽)E这个东西么?现在我们就可以理直气壮地把它替换成▽²E了,于是,电场旋度的旋度就可以写成这样:
▽×(▽×E)=▽(▽·E)-(▽·▽)E=▽(▽·E)-▽²E。
至此,我们利用矢量的三重积公式推电场E的旋度的旋度的过程就结束了,然后我们就得到了这个极其重要的结论:
它告诉我们:电场的旋度的旋度等于电场散度的梯度减去电场的拉普拉斯。有了它,电磁波的方程立马就可以推出来了。
14. 见证奇迹的时刻
我们再来看看真空中的麦克斯韦方程组:
它的第三个方程,也就是法拉第定律是这样表示的:
我们对这个公式两边都取旋度,左边就是上面的结论,右边无非就是对磁感应强度B取个旋度,即:
你看看这几项,再看看真空中的麦克斯韦方程组:方程1告诉我们▽·E=0,方程4告诉我们▽×B=μ0ε0(∂E/ ∂t),我们把这两项代入到上面的式子中去,那结果自然就变成了:
μ0、ε0都是常数,那右边自然就变成了对电场E求两次偏导。再把负号整理一下,最后的式子就是这样:
嗯,于是我们就神奇般的把磁感应强度B消掉了,让这个方程只包含电场E。我们再对比一下我们之前唠叨了那么多得出的经典波动方程:
我们在推导经典波动方程的时候只考虑了一维的情况,因为我们只考虑波沿着绳子这一个维度传播的情况,所以我们的结果里只有∂²f/ ∂x²这一项。如果我们考虑三维的情况,那么不难想象波动方程的左边应该写成三项,这三项刚好就是f的三维拉普拉斯:
所以我们的经典波动方程其实可以用拉普拉斯算子写成如下更普适的形式:
再看看我们刚刚从麦克斯韦方程组中得到的电场方程:
嗯,我们推出的电场的方程跟经典波动方程的形式是一模一样的,现在我们说电场E是一个波,你还有任何异议么?
我们把电场E变成了一个独立的方程,代价是这个方程变成了二阶(方程出现了平方项)的。对于磁场,一样的操作,我们对真空中麦克斯韦方程组的方程4(▽×B=μ0ε0(∂E/ ∂t))两边取旋度,再重复一次上面的过程,就会得到独立的磁感应强度B的方程:
这样,我们就发现E和B都满足波动方程,也就是说电场、磁场都以波动的形式在空间中传播,这自然就是电磁波了。
15. 电磁波的速度
对比一下电场和磁场的波动方程,你会发现它们是形式是一模一样的(就是把E和B互换了一下),这样,它们的波速也应该是一样的。对比一下经典波动方程的速度项,电磁波的速度v自然就是这样:
我们去查一下μ0、ε0的数值,μ0=4π×10^-7N/A²,ε0=8.854187818×10^ -12 (F/m),代入进去算一算:
再查一下真空中的光速 c=299792458m/s。
前者是我们从麦克斯韦方程组算出来的电磁波的速度,后者是从实验里测出来的光速。有这样的数据做支撑,麦克斯韦当年才敢大胆的预测:光就是一种电磁波。
当然,“光是一种电磁波”在我们现在看来并不稀奇,但是你回顾一下历史:科学家们是在研究各种电现象的时候引入了真空介电常数ε0,在研究磁铁的时候引入了真空磁导率μ0,它们压根就跟光无关。麦克斯韦基于理论的美学和他惊人的数学才能,提出了位移电流假说(从推导里我们也可以看到:如果没有麦克斯韦加入的位移电流这一项,是不会有电磁波的),预言了电磁波,然后发现电磁波的速度只跟μ0、ε0相关,还刚好就等于人们测量的光速,这如何能不让人震惊?
麦克斯韦一直以为自己在研究电磁理论,但是当他的电磁大厦落成时,他却意外地发现光的问题也被顺手解决了,原来他一直在盖的是电磁光大厦。搞理论研究还可以买二送一,打折促销力度如此之大,惊不惊喜,意不意外?
总之,麦克斯韦相信自己的方程,相信光是一种电磁波,当赫兹最终在实验室里发现了电磁波,并证实它的速度确实等于光速之后,麦克斯韦和他的理论获得了无上的荣耀。爱因斯坦后来却因为不太相信自己的方程(认为宇宙不可能在膨胀)转而去修改了它,于是他就错失了预言宇宙膨胀的机会。当后来哈勃用望远镜观测到宇宙确实在膨胀时,爱因斯坦为此懊恼不已。
16. 结语
回顾一下电磁波的推导过程,我们就是在真空麦克斯韦方程组的方程3和方程4的两边取旋度,然后就很自然的得出了电磁波的方程,然后得到了电磁波的速度等于光速c。这里有一个很关键的问题:这个电磁波的速度是相对谁的?相对哪个参考系而言的?
在牛顿力学里,我们说一个物体的速度,肯定是相对某个参考系而言的。你说高铁的速度是300km/h,这是相对地面的,你相对太阳那速度就大了。这个道理在我们前面讨论的波那里也一样,我们说波的速度一般都是这个波相对于它所在介质的速度:比如绳子上的波通过绳子传播,这个速度就是相对于绳子而言的;水波是在波在水里传播,那么这个速度就是相对水而言的;声波是波在空气里传播(真空中听不到声音),声波的速度就自然是相对空气的速度。
那么,电磁波呢,从麦克斯韦方程组推导出的电磁波的速度是相对谁的?水?空气?显然都不是,因为电磁波并不需要水或者空气这种实体介质才能传播,它在真空中也能传播,不然你是怎么看到太阳光和宇宙深处的星光的?而且我们在推导电磁波的过程中也根本没有预设任何参考系。
于是当时的物理学家们就假设电磁波的介质是一种遍布空间的叫作“以太”的东西,于是大家开始去寻找以太,但是怎么找都找不到。另一方面,电磁波的发现极大地支持了麦克斯韦的电磁理论,但是它跟牛顿力学之间却存在着根本矛盾,这种情况像极了现在广义相对论和量子力学之间的矛盾。怎么办呢?
1879年,麦克斯韦去世,同年,爱因斯坦降生,这仿佛是两代伟人的一个交接仪式。麦克斯韦电磁理论与牛顿力学之间的矛盾,以及“以太”这个大坑都被年轻的爱因斯坦搞定了,爱因斯坦搞定它们的方法就是大名鼎鼎的狭义相对论。其实,当麦克斯韦把他的电磁理论提出来之后,狭义相对论的问世就几乎是必然的了,因为麦克斯韦的电磁理论其实就是狭义相对论框架下的理论,这也是它跟牛顿力学冲突的核心。所以,爱因斯坦才会把他狭义相对论的论文取名为《论动体的电动力学》。
麦克斯韦的电磁理论结束了一个时代,却又开启了一个新时代(相对论时代),它跟牛顿力学到底有什么矛盾?为什么非得狭义相对论才能解决这种矛盾?这些将是我后面要讨论的重点。我会尽力让大家看到科学的发展有它清晰的内在逻辑和原因,并不是谁拍拍脑袋就提出一个石破天惊的新理论出来的。
此外,电磁理论和牛顿力学的融合是人类解决两个非常成功却又直接冲突理论的一次非常宝贵的经验,这跟我们现在面临的问题(广义相对论和量子力学的冲突)非常类似。我希望能够通过这种叙述给喜欢科学的少年们一些启示,让他们以后面对广义相对论和量子力学冲突的时候,能够有一些灵感。
嗯,没错,我在期待未来的爱因斯坦~