拉普拉斯变换可以说是现代工程学使用最广泛的数学工具,它通过数学变换将微积分方程转化成代数方程,为求解连续空间连续时间的方程提供了可能。但是,一般的教材一上来就是拉普拉斯变换的数学定义,对于其历史和代表的深刻含义没有任何介绍,导致很多人一直头疼不已。今天,我们尝试一下从不同的角度来看看拉普拉斯变换到底是怎么回事?先从一个人说起:奥列弗.赫维赛德,一位在科学史地位被严重低估的人。
一、奥列弗. 赫维赛德是何许人也
奥列弗. 赫维赛德(Oliver Heaviside)是维多利亚时期英国人,出身于极度贫穷的家庭,听力部分残疾,还得过猩红热,从未上过大学,完全靠自学和兴趣掌握了高等科学和数学。
< 图片来自:https://en.wikipedia.org/wiki/Oliver_Heaviside很多人熟悉赫维赛德是因为MATLAB有一个赫维赛德(Heaviside)函数,它大概长这个样子,可以看成一个阶跃函数,这个函数因为和狄拉克(Dirac)函数之间的千丝万缕的关系而显得尤为重要。
我们现在说赫维赛德,当然不是因为这个函数,而是因为我们叹为观止、惊为天人,怎么夸都不过分的麦克斯韦方程组,麦克斯韦本人并没有见过这个方程组,它在一定程度上应该叫“赫维赛德方程组”。
这四个公式简直太对称了!而且它们的含义也很清晰:变化的电场产生磁场,变化的磁场产生电场,电磁波也就是电场和磁场此消彼长、相互转化、向前传播的形式。多亏了赫维赛德,麦克斯韦的理论才得以在十九世纪结束之前就真正站稳了脚跟并发扬光大。可以毫不谦虚的说:宇宙间任何的电磁现象,皆可由麦克斯韦方程组解释,包括光。也正是因为这个方程组完美统一了整个电磁场,让爱因斯坦始终想要以同样的方式统一引力场,并将宏观与微观的两种力放在同一组式子中:即著名的“大一统理论”,不幸的是麦克斯韦成功了,而爱因斯坦没有。
麦克斯韦早在1873年便出版了跨时代巨著《电磁通论》,可惜的是,他英年早逝,他的方程组在生前并没有得到科学界的关注,其中一个很重要的原因是他的理论描述复杂得令人吃惊,他最初提出的电磁理论公式包含了二十个方程,直接导致了他的理论在首次发表后的10多年时间内,几乎无人问津。
赫维赛德最伟大的贡献是简化了麦克斯韦的原始方程组,通过他天才般的洞察力,挖掘出了蕴含在麦克斯韦方程内部的深刻意义,从而使简化后麦克斯韦方程组呈现出无与伦比的对称性,成为历史上是最漂亮的方程式(没有唯一)。
而我们今天要说的,是赫维赛德的第二个重要贡献:运算微积分。学过电磁学的人都知道,在历史上人们发现好多定理公式,都是用微积分的形式表达的。1880年-1887年之间,赫维赛德在从事电磁场研究的同时,为求解微积分方程,在他的分析计算中引入了微分算子的概念,这个方法牛逼在什么地方呢?——它可以将常微分方程转换为普通代数方程。天才与普通人的区别就是人家是靠“直觉”来解决问题的。赫维赛德是怎么解微分方程的呢?他把微分、积分运算用一个简单的算子来代替。
——微分算子用 来表示,
——高阶微分算子为,
——积分算子符号用 表示,
也就是说,在某种算子下,积分和微分对应的是倒数关系,至于算子 代表什么,赫维赛德也没有多解释,在缺乏严密数学基础的情况下,人家直接放在文章就用了,还发表了。比如常见的一个二阶常微分方程,
用赫维赛德的微分算子变换一下,就变成了代数表达式,
赫维赛德之所以这么做,是因为他的“物理直觉”告诉他这么做,就是这么硬。这显然是一种开外挂的行为,因此也受到当时的主流数学家们们的攻讦,他们认为赫维赛德就是十足的“民科”,文章没什么理论依据,自己在那空想呢。当然,赫维赛德也不是弱鸡,科学家怼起人来,也是毫不含糊:“因为我不能理解消化过程就拒绝晚餐吗?不,只要我满意这个结果。”
好了,扯了那么远,有童鞋已经不耐心了:这些和拉普拉斯变换有什么关系?谜底就是:赫维赛德的微积分算子,就是拉普拉斯变换的前身。
赫维赛德的算子验算虽然缺乏严密的数学基础,往往能给出重要且正确的结果,方法确实有效,无法驳倒。于是在世纪之交,数学家们开始尝试随算子理论进行严格化。后来,人在在70年前法国数学家拉普拉斯的一本有关概率论的著作上,找到了这种算法的依据,但是这本书上提出的并不是现在我们看到的拉普拉斯变换,而是著名的Z变换。什么?拉普拉斯变换不是拉普拉斯提出的?随着二战后拉普拉斯变换的广泛使用,赫维赛德算子的作用被弱化了,但是不可否认的是,这是这种“不正规”,仅靠“天才的直觉”而发明的方法,促成了现在拉普拉斯分析法。
二、傅里叶变换(轻量版拉普拉斯变换)
在说拉普拉斯变换以前,我们要先提一下傅里叶变换,这可以看成是轻量版的拉普拉斯变换。傅里叶变换说的是什么事?说的是自然界的很多现象,都可以用三角函数进行分解。
古巴比伦科学家在很早就用了三角函数和逼近的方法,对天体运动进行观测和预报,1748年,大神欧拉用类似的方法分析可弦的振动(大神就是高产,哪哪都有他的身影),1753年伯努利提出任意物理弦的振动都可以可以表达为三角函数的和,但是他没给出证明(注意,伯努利是一个家族,3代人中产生了8位科学家,后裔有不少于120位被人们系统地追溯过)。1807年,傅里叶于年在法国科学学会上提交了一篇论文,运用正弦曲线来描述温度分布,论文里有个在当时具有争议性的观点:任何连续周期信号可以由一组适当的正弦曲线组合而成。傅里叶没有做出严格的数学论证。这篇论文的审稿人中,有历史上著名的数学家拉格朗日和拉普拉斯,当拉普拉斯和其它审稿人投票通过并要发表这篇论文时,拉格朗日坚决反对,认为傅里叶的方法无法表示带有棱角的信号。法国科学学会屈服于拉格朗日的威望,拒绝了傅里叶的工作。1822年,傅里叶变换随其著作《热的解析》发表,但已经是15年之后了。1829年,狄利赫里通过推导其适用范围,完善了傅里叶变换。
我们知道,三角函数可以通过欧拉公式与复指数函数联系起来,
也就是说,复指数函数是与正弦函数、余弦函数紧密相关的,那是不是某些信号也能通过复指数函数进行分解呢?我们不妨先来研究一下 有什么特殊的性质。在(https://zhuanlan.zhihu.com/p/40317763, https://zhuanlan.zhihu.com/p/40396861,https://zhuanlan.zhihu.com/p/40302967)三篇文章中,我们得出了以下结论:自然常数 可以描述事物的连续变化,虚数单位 可以描述旋转,复指数函数 代表一个连续旋转的圆。(这一点不太理解的,可阅读上面三篇文章,里面有详细介绍)。
当频率为 时,
当 时,
clc;clear;
h = animatedline;
xl=xlabel('cos(\omegat)');%
yl=ylabel('sin(\omegat)');%
grid on;
title('\omega = 1rad/s Made by J Pan')
axis([-1,1,-1,1]);
axis square;
N = 100;
t=linspace(0,2*pi,N);
w=1;
x=cos(w*t);
y=sin(w*t);
a = tic; % start timer
for k = 1:N
addpoints(h,x(k),y(k));
hold on
quiver(0,0,x(k)*1.1,y(k)*1.1)
b = toc(a); % check timer
if b > (1/90)
drawnow % update screen every 1/30 seconds
a = tic; % reset timer after updating
end
end
因此, 可以看成是一组连续旋转的曲线,幅值永远为1,频率一直在变。这些旋转的曲线能干什么?
你能想象到很多曲线,都可以用这些不同频率,连续旋转的圆,通过线性叠加得到,而傅里叶定律,就是对这个结论的数学描述,傅里叶定律说:只要一个函数满足如狄利赫里条件,都能分解为复指数函数之和,哪怕是如拉格朗日提到的带有棱角的方波函数。狄利赫里条件为:
(1) 函数在任意有限区间内连续,或只有有限个第一类间断点;
(2)在一个周期内,函数有有限个极大值或极小值;
(3) 在绝对可积,即 。
当满足狄利赫里条件时,傅里叶变换及其逆变换为:
于是就可以很好的解释拉格朗日和傅里叶之间的争论了——拉格朗日是对的:正弦曲线无法组合成一个带有棱角的信号,棱角处会有很小高频波动(吉布斯现象)。但是,我们可以用正弦曲线来非常逼近地表示它,逼近到两种表示方法不存在能量差别,基于此,傅里叶也是对的。一个从数学家的角度,一个从工程师的角度。
三、拉普拉斯变换(原来就是那么回事)
傅里叶变换能帮我们解决很多问题,一经问世后便受到广大工程师们的喜爱,因为它给人们提供了一扇不同的窗户来观察世界,从这个窗户来看,很多事情往往变得简单多了。但是,别忘了,傅里叶变换有一个很大局限性,那就是信号必须满足狄利赫里条件才行,特别是那个绝对可积的条件,一下子就拦截掉了一大批函数。比如函数 就无法进行傅里叶变换。这点难度当然拿不到聪明的数学家们,他们想到了一个绝佳的主意:把不满足绝对的可积的函数乘以一个快速衰减的函数,这样在趋于 时原函数也衰减到零了,从而满足绝对可积。
图片来自:https://www.zhihu.com/question/22102732/answer/369089156数学描述是:
为保证 一直为衰减函数,我们把 定义域缩减到正半轴,这样可以进行傅里叶变换就变成了:
如果假设:
那么就得到:
这就是拉普拉斯变换。
我知道大部分人前面的数学推导没什么兴趣,接下来就是放彩蛋的时刻了,很多童鞋会说不管傅里叶变换或者拉普拉斯变换是什么细节,你能说点有意思的,让人能记忆深刻的信息吗?
我前面的专栏文章说了, 代表按不同频率旋转的单位圆,那是在复平面来看的,想象力丰富的同学可以脑补一下,如果把时间轴也加上, 长什么样子呢?那就是螺旋曲线!
clc;clear;
h = animatedline;
h1=gcf;
view(3);
xl=xlabel('cos(\omegat)');%
yl=ylabel('sin(\omegat)');%
zl=zlabel('t');%
set(xl,'Rotation',30);%
set(yl,'Rotation',-30);%
grid on;
title('\omega = 1rad/s Made by J Pan')
axis([-1,1,-1,1,0,4*pi])
N = 200;
t=linspace(0,4*pi,N);
w=1;
x=cos(w*t);
y=sin(w*t);
a = tic; % start timer
for k = 1:N
addpoints(h,x(k),y(k),t(k));
hold on
line([0 x(k)],[0 y(k)],[t(k) t(k)],'Color','red')
b = toc(a); % check timer
if b > (1/90)
drawnow % update screen every 1/30 seconds
a = tic; % reset timer after updating
end
end
从其他不同的平面看,螺旋曲线就是正弦或者余弦曲线。
下面我们再来看看 长什么样子:
clc;clear;
h = animatedline;
h1=gcf;
view(3);
xl=xlabel('cos(\omegat)');%
yl=ylabel('sin(\omegat)');%
zl=zlabel('t');%
set(xl,'Rotation',30);%
set(yl,'Rotation',-30);%
grid on;
title('\omega = 1rad/s Made by J Pan')
axis([-1,1,-1,1,0,4*pi])
N = 200;
t=linspace(0,4*pi,N);
w=1;sig=-0.2;
x=exp(sig*t).*cos(w*t);
y=exp(sig*t).*sin(w*t);
a = tic; % start timer
for k = 1:N
addpoints(h,x(k),y(k),t(k));
hold on
line([0 x(k)],[0 y(k)],[t(k) t(k)],'Color','red')
b = toc(a); % check timer
if b > (1/90)
drawnow % update screen every 1/30 seconds
a = tic; % reset timer after updating
end
end
螺旋曲线和衰减函数的乘积:一个半径不断减小的螺旋曲线。从不同的平面看,就是不断衰减的正弦或者余弦曲线,从复平面来看,是一个半径不断减小的圆。
总结一下:傅里叶变换是将函数分解到频率不同、幅值恒为1的单位圆上;拉普拉斯变换是将函数分解到频率幅值都在变化的圆上。因为拉普拉斯变换的基有两个变量,因此更灵活,适用范围更广。
最后的彩蛋:拉普拉斯变换变换和赫维赛德的微积分算子有什么关系?为什么说微分算子是拉普拉斯变换的前身?其实很简单。
对于微分运算:
,令 ,则 ;
对于积分运算:
,令 ,则 ;
是不是和赫维赛德微分算子长得很像?
From: https://zhuanlan.zhihu.com/p/40783304