谐振子
在物理学的不同领域甚至别的学科中,出现的方程式往往是完全一样的,这导致不同领域中会有相似的现象。因此对一个领域的研究可以扩展我们对另一个领域的认识,我们从一开始就应到认识到这种扩展的可能性,才能坚定地为此付出时间和精力。
学习谐振子本质上是在学习“常系数线性微分方程”。一般的n阶常系数线性微分方程可以写作andtndnx+an−1dtn−1dn−1x+⋯+a1dtdx+a0x=f(t)。其中,水平弹簧上挂一个重物的简谐运动模型的方程形式最简单,形如mdt2d2x=−kx。为了方便,我们暂时令k=m,那么消去得到dt2d2x=−x。我们发现,三角函数刚好满足这个性质,因此x=cost(或者sint)会是一个可行解。而经过尝试,我们发现x=Acost对于任意的A都是可行的——这说明了线性微分方程的一个极其重要的性质:如果用任意常数乘以方程的一个解,所得结果仍是方程的解。从数学上这可以用“常数可以提出微分之外”来解释,而它的物理意义却很有意思——如果我们在初始时把物体拉到原来的两倍的距离上,那么其受力也变成两倍;虽然路程边远,但它加速的也更快,最后的结果是时间不变——也就是说,对于遵循线性方程的运动来说,不管运动有多“强”,它都会具有相同的“时间图像”。所以为了使物体满足一般的方程mdt2d2x=−kx,我们必须尝试改变时间的标度。 设x=cosω0t,其二阶导为−ω02cosω0t=−ω02x。因此只需令ω02=mk就得到一个解了。我们知道三角函数是周期函数,而w0T=2π时刚好走完一个周期,因此我们就称T为简谐运动的一个周期。
我们已经知道,仅根据微分方程是无法确定常数系数的,并且由于初速度初位移的各种不同,最后解的情况也不同。我们依旧假定解是三角函数的形式,那么改变初相位,得到解cos(ω0t+Δ),对它和差展开,我们发现任何形如x=Acosω0t+Bsinω0t都是可能成为解的。我们可以用这个形式来待定系数,求出初始条件下的方程。
对于任何一个求得的解,我们可以验证解对应的弹性势能和动能之和对任意时间t恒为常数,这与能量守恒定律相符。
“简谐运动的解是三角函数”这一事实暗示了简谐运动与圆周运动在数学上具有某种联系,因为三角函数最初是定义在单位圆上的。其实,在研究圆周运动时,我们其实已经结果简谐运动的微分方程了——圆周运动的水平投影(或者竖直投影)就是简谐运动,向心加速度的水平分量水平投影运动的加速度,而就是对应简谐运动的加速度。如果我们把振动看作某个圆周运动的投影,那么我们就只需要分析简谐运动而没有必要分析微分方程了,尽管另一个方向的运动完全是人为补充的多余的运动。这暗示着,如果用复数的技巧,会使得运算变得简单。
受迫振动
受迫运动是弹簧振子在受到一个外策力F(t)的作用下的运动。假设力也是一个振动,比如F(t)=F0cosωt,那么动力学方程为
mdt2d2x=−kx+F0cosωt
我们在上文中非受迫振动时曾得到了一个固定的周期,对应有ω02=mk。这个ω0是由k,m决定的,即由弹簧振子本身的性质决定。所以我们可以做代换k=mω02。那么也就是要解微分方程
mdt2d2x+mω02x=F0cosωt
我们设想x依然是三角函数,并且和外策力具有相同的频率(试一试总是可以的)。这是符合直觉的,因为假如我们不断来回推动物体,物体必将与力同步来回运动。代入x=Ccosωt,得到
−mCω2cosωt+mω02Ccosωt=F0cosωt
看来这是可行得,并且C必须等于m(ω02−ω2)F0
这个解就是受迫振动的运动,它表面受迫谐振子和外策力频率相同,但振动幅度由外策力频率决定。当ω=ω0时,振动幅度趋向无穷(理想情况,实际情况由于摩擦力的存在,弹簧劲度系数有限,不可能达到无穷);当ω远小于ω0时,C为正,位移矢量和力的矢量方向相同,因为此时推得很慢;而远大于时,位移矢量必须和力得矢量方向相反。当外策力频率很高的时候,分母很大,振幅很小。
这个解可能只是一种情况,我们不能保证没有其他情况。在别的初始条件下还会有别的解,我们暂时先不讨论。
阻尼振动
现在我们再把阻力加入到方程中。在很多情况下,阻力与速度成正比,比如在油或很浓的液体中,物体运动的越快,油为了让其更快通过必须受到更大的力,因此阻力也就越大。我们解方程:
mdt2d2x+cdtdx+kx=F(t)
方便起见,取c=mγ,k=mω02,并再次假定F=F0cosωt,那么化简得到
dt2d2x+γdtdx+ω02x=mF0cosωt
我们假设解是x=Acos(ωt+Δ)这样的形式。但这样导致运算很繁琐。为了运算上的方便,我们引入复数的技巧。根据欧拉公式eiθ=cosθ+isinθ,我们可以用幂指数来代替三角函数。我们把x,F看作复数,因为复数相等肯定得要求实部相等,我们把上述方程作为我们复数方程的实部(这种方法能适用正是因为方程是线性的,因此实部和虚部才能互相独立)。记F^=F0eiωt(尖号代表复数),位移为复数x^,那么要解方程
dt2d2x^+γdtdx^+ω02x^=mF^
根据我们的假设,x作为幂指数取一次导数就相当于其本身乘以指数上t的系数——微分被转化为了乘法!那么代入得到
(iω)2x^+γ(iω)x^+ω02x^=mF^
因此x^=m(ω02−ω2+iγω)F^
这说明解是力乘以(复数的)常数,一个复数常数肯定可以被某个ρeiθ表示,因此x^=ρeiθF0eiωt=ρF0ei(ωt+θ)。取实部,就得到x=ρF0cos(ωt+θ)。我们通过对这个常数分母实数化就可以得到m(ω02−ω2+iγω)1=m(ω02−ω2+iγω)(ω02−ω2−iγω)ω02−ω2−iγω=m((ω02−ω2)2+γ2ω2)ω02−ω2−iγω由此可得ρ=m(ω02−ω2)2+γ2ω21,tanθ=ω2−ω02γω。
由此我们看到振幅是m(ω02−ω2)2+γ2ω2F0,可见在阻尼存在的情况下振幅能达到极大而不是无穷大。γ是阻尼的系数,如果它很小,那么左边的项主导振幅的大小。
共振
在阻尼振动中,如果ω和ω0非常接近并且γ很小,那么(ω02−ω2)=(ω0+ω)(ω0−ω) ≈2ω0(ω0−ω),γω≈γω0,于是振幅可以近似为m4ω02(ω0−ω)2+γ2ω02F0 =2mω0(ω0−ω)2+γ2/4F0。这个公式成为“共振”公式,它是在ω与ω0很接近且阻尼γ很小时的阻尼振动。共振现象的重要性在于,它在很多其他情况中也会出现。例如如果把一个电感、电阻和电容串联在一起,会得到一个关于电荷q的线性微分方程,这个方程和阻尼振动一模一样,因此我们可以直接得到解——电路同样有着共振的性质。
振子的能量
在没有阻尼和外策力的情况下,我们知道振子的能力就是动能和(弹性)势能之和21mv2+21kx2。对于一般的阻尼振动,我们知道F(t)=mdt2d2x+γmdtdx+mω02x,外策力的功率应当等于系统能量的变化率,因此对外策力的功率P=Fdtdx对时间积分就可以得到振子能力的一般形式。P=m[dtdx⋅dt2d2x+ω02x⋅dtdx]+γm(dtdx)2。其中,对于第一项和第二项,∫m[dtdx⋅dt2d2x+ω02x⋅dtdx]dt=21m(dtdx)2+21mω02x2,恰好就是动能与弹性势能之和。这一项叫储能,即储存在振动中的能力。在外策力作用下,这一项在平均意义上是不变的。因此,我们可以把能量的转化理解为γm(dtdx)2这一项“吸收了”所有外力做功的作用功率。因此我们说“振子的平均功率”为⟨P⟩=⟨γm(dtdx)2⟩。如果x=x0cos(ωt+Δ),那么dtdx的幅度为ωx0。这个平均值就是对时间的积分意义下的平方平均值(高中里的交流电有效值就是这样定义的,事实上交流电就是振动的一个应用),因此21⟨P⟩=γmω2x02。在电路中,q对应x,因此dtdx对应I,mγ对应电阻R,因此电路中能量的消耗功率(即电功)为I2R=21I02R,这就是焦耳热。
对应的,储能的平均值为⟨E⟩=41m(ω2+ω02)x02。振子的功率只是为了抵消阻尼损耗,使得储能平均意义下保持不变。当ω和ω0很接近时,发生共振, 储能很高——这使得我们可以用一个比较小的力获得了一个比较大的能量。所以我们可以用储能与振子的功率(每一次振动外力做的功)之比来度量振子的效率,这称为系统的Q值,它定义为2π乘以(为了方便)储能除以每一次完整振动期间外力做的功,也即储能除以每弧度里外力做的功。计算得Q=2π⋅⟨P⟩⋅ω2π⟨E⟩ =2γωω2+ω02。对于共振振子,可以进一步化简得到Q=γω0,它也可以用来衡量共振图像(振幅与频率的关系)上突起的尖锐程度,Q越大图像越尖锐。在电路中,相应的Q=RLω。
瞬变态
我们已经看到,当我们给振子施加一个稳定振动的外策力的时候,振子的运动也是稳定的。这样的运动称为“稳态响应”。而与之相应的是“瞬变响应”。瞬变态,是指当没有作用力存在,且系统不是简单地处于静止时,我们的微分方程的一个解。这在生活中很常见,比如我们只是敲一下一个物体,而不持续施加作用,那么这个物体的振动将逐渐变小并在一段时间之后消失。
首先,我们来看一个Q值很高的系统将发生什么情况。我们首先从非数学的角度来猜测此时微分方程的解的样子。我们在分析振子的能量时看到,外策力的能量全都被用来克服阻尼。那么一旦外策力停止做功,我们有理由相信,振子只能通过消耗储能来克服阻尼继续运动。由于Q值是振子本身的性质,与振子的状态无关,它反应了当前状态振子的储能与克服阻力的功率之比,那么在瞬变态中它应当反应“消耗储能的功率”。所以我们能够写出方程dtdE=−QωE,比如Q/2π=1000时,每振动一周将会损耗储能的1/1000,因此瞬间能量损耗的速率就应当是当前储能的1/Q倍乘上单位时间走过的弧度。另一方面,我们根据生活经验也已经熟知ω就是固有频率, 它不会在振幅衰减的时候发生变化。我们在钢琴上踩着踏板弹一个跳音,跳音的延音并不会发生音高的变化。所以式中的ω就恒为ω0。基于这样的猜测,我们可以直接写出方程的解为E=E0e−Qw0t=E0e−γt。由于能量正比于振幅的平方,因此振子的运动应当写为x=A0e−2γtcosω0t。
以上只是我们的猜测。下面我们继续采用复数的方法来严格求解微分方程
dt2d2x^+γdtdx^+ω02x^=0
我们设x^=Aeiαt。注意,我们这里没有设成x^=Aeiωt,因为我们认为α可以取复数,这样iαt这一项又可以有实部,又可以有虚部,这样提取出幂指数为实数的那一项,x的振幅就会发生变化,这才符合我们的预期。指数的微分是容易的,因此微分方程立即化简为
A(iα)2eiαt+Aγ(iα)eiαt+ω02Aeiαt=0
因式分解得
(−α2+iγα+ω02)Aeiαt=0
由于Aeiαt=0,因此−α2+iγα+ω02=0。直接利用求根公式就可以得到α=2iγ±4ω02−γ2=2iγ±ω02−4γ2
我们暂且假设根号内大于0,并将这个根号记为ωγ。先来看α1=2iγ+ωγ这个解,代入得到x1^=Ae(−2γ+iωγ)t=Ae−2γteiωγt,取其实部为x1=Ae−2γtcosωγt。这和我们的猜测基本吻合,但频率不是固有频率ω0,而是比它稍微小一点,受阻尼影响,频率变为ω02−4γ2。当γ较小时,基本可以忽略。
但我们还得到了另一个解α2=2iγ−ωγ,代入有x2^=Ae(−2γ−iωγ)t=Ae−2γte−iωγt。我们知道线性微分方程的解乘以任何常数都是没有问题的,把两个解相加也是没有问题的(线性就是对加法和数乘封闭),因此任何一个形如x^=e−2γt(Aeiωγt+Be−iωγt)都是方程的解。为了取得实部作为我们的解,我们可以保留前一项复数Aeiωγt,而令Be−iωγt只能取Aeiωγt的共轭复数,这样得到实数解的一般形式x=e−2γt(Aeiωγt+A∗e−iωγt)。这相比于原来的解多出来一个相移——我们的实数解时一个具有相移和阻尼的振动。利用初始状态的x0,v0,通解可以写为x=e−2γt[x0cosωγt+ωγv0+γx0/2sinωγt]。
如果γ足够大,使得根号内小于0了呢?此时我们解为2iγ±i4γ2−ω02,正的那个时无振荡的指数衰减,另一个则是还要快得多的衰减。将这两种代入,并同样做线性组合,就能得到此时解的一般形式。
我们从物理上已经发现,当γ变化到超过某一临界值的时候,三角函数逐渐变成了指数函数。这再次证明了三角函数和指数函数的密切联系,在引入复数和欧拉公式的时候,这种关系就已经表现出来了。指数函数最后会收敛于0,这恰好体现了我们的解是“瞬变态”的解。
线性系统
线性系统就是线性代数中我们研究过的,对加法和数乘封闭的系统。在研究瞬变态的过程中,如果我们把左侧记为L(x)(一个关于x的函数),那么微分方程就是L(x)=0。线性微分方程有对于解的叠加和数乘的性质,即L(x1+x2)=L(x1)+L(x2),L(cx)=cL(x)。因此如果有L(x1)=0,L(x2)=0,那么L(αx1+βx2)=0恒成立。可以证明,由于瞬变态的振子方程是二阶的,所能求出的线性独立的解只有两个。而我们已经求出了这两个解,因此我们其实已经找出了这个方程的所有可能解。一般来说,我们能求得的独立解的数目与方程的“自由度”有关,现在暂时不讨论。
研究瞬变态的好处在于我们已经找出了L(x)=0的所有可能解。现在把方程替换成任意的L(x)=F(t),如果我们有该方程的一个特解x0,那么该特解叠加上任何一个瞬变态的解x′都满足L(x0+x′)=L(x0)+L(x′)=L(x0)=F(t)。因此,我们可以把任何瞬变解叠加到受迫解上去,得到的仍然是受迫解。例如,当外策力发生变化的时候,我们想研究振子运动的变化,就可以用该外策力的受迫解去叠加瞬变解,来得到振子的变化过程。
如果外策力可以看成两个力的叠加,即L(x)=Fa(t)+Fb(t)。那么我们可以先解L(x1)=Fa(t),再解L(x2)=Fb(t)。根据线性性,就有L(x1+x2)=Fa(t)+Fb(t)了,这说明我们可以把合力分解后逐个求解运动,最后再把运动叠加。
更一般地,如果外策力F(t)是一个任意的一般函数,那么解会变得非常复杂。我们通常有两种方法来解决这个问题:第一种是把复杂的函数分解为许多正弦函数之和,而我们已经知道正弦函数对应的解,而这些解叠加后就会得到最终的解,这个分解过程就是“傅里叶变换”;另一个方法是我们可以把F(t)切分,将每一个时间微元里的力看作一个短时间的冲力,这个冲力的作用可能是一连串的运动,那么当我们把每个冲力在对应时间的作用叠加起来,就会得到最终的运动,这个方法是“格林函数法”。
线性系统在物理里至关重要,因为绝大部分情况我们能解的都只有线性问题,对于非线性问题,一般只能数值求解。而实际情况表明,物理基本定理常常是线性的(这会不会只是因为我们发现的定律只是近似呢?)。例如,我们在电磁场中也可以使用叠加原理,但这恰恰是因为麦克斯韦方程组就是线性方程组!就我们所知,量子力学的伟大定律也是线性方程……
弹簧振子的模型可以类比许许多多线性系统,其中最巧妙的就是称为线性电路的电学系统。我们已经知道,电荷q可以类比位移x,电流I可以类比速度v。而事实上,电感L可以类比惯性m,电压V可以类比力F。这样,在电学系统中电感的方程V=Ldt2d2q就是电学中的牛顿第二定律!那么,什么东西可以类比力学中的弹簧F=kx呢?换言之我们要寻找V和q的线性关系,答案是电容V=C1⋅q。因此,我们学到的一切力学中的内容都可以用线性电路来一一对应。当我们要分析一个复杂的力学系统时,可以建立一个完全同构的电学系统,而电学系统是易于建立、测量、调节的。既然电学系统和力学系统可以做到完全等价,那么电学系统中的定律,例如阻抗的串联和并联、基尔霍夫定律,就可以反过来应用于力学。以后我们还要更加详细地讨论。