說到拉普拉斯變換,學習工科的學生,尤其是電子或計算機類的同學,對它一定不會陌生。拉普拉斯變換是在現代工程學中使用最廣泛的數學工具,它通過數學變換將微積分方程轉化成代數方程,極大地簡化了用一般方法去求解微積分方程。拉普拉斯變換在許多工程技術和科學研究領域中有著廣泛的應用,特別是在力學系統、電學系統、自動控制系統、可靠性系統以及隨機服務系統等系統科學中都起著重要作用。然而,大多數教材普遍都是開門見山給出拉普拉斯變換的定義與公式,對於其歷史和代表的深刻含義沒有任何介紹,導致很多學生對此一直頭疼不已。今天,我們嘗試從一個趣味科普的角度來看看拉普拉斯變換到底是怎麼回事?
一、傅立葉變換(輕量版拉普拉斯變換)
在說拉普拉斯變換以前,我們要先提一下傅立葉變換,這可以看成是輕量版的拉普拉斯變換。傅立葉變換說的是什麼事?說的是自然界的很多現象,都可以用三角函數進行分解。
古巴比倫科學家在很早就用了三角函數和逼近的方法,對天體運動進行觀測和預報,1748年,大神歐拉用類似的方法分析可弦的振動,1753年伯努利提出任意物理弦的振動都可以可以表達為三角函數的和,但是他沒給出證明。1807年,傅立葉於年在法國科學學會上提交了一篇論文,運用正弦曲線來描述溫度分布,論文裡有個在當時具有爭議性的觀點:任何連續周期信號可以由一組適當的正弦曲線組合而成。傅立葉沒有做出嚴格的數學論證。這篇論文的審稿人中,有歷史上著名的數學家拉格朗日和拉普拉斯,當拉普拉斯和其它審稿人投票通過並要發表這篇論文時,拉格朗日堅決反對,認為傅立葉的方法無法表示帶有稜角的信號。法國科學學會屈服於拉格朗日的威望,拒絕了傅立葉的工作。1822年,傅立葉變換隨其著作《熱的解析》發表,但已經是15年之後了。1829年,狄利赫裡通過推導其適用範圍,完善了傅立葉變換。
我們知道,三角函數可以通過歐拉公式與復指數函數聯繫起來,
也就是說,復指數函數是與正弦函數、餘弦函數緊密相關的。 可以看成是一組連續旋轉的曲線,幅值永遠為1,頻率一直在變。這些旋轉的曲線能幹什麼?
你能想像到很多曲線,都可以用這些不同頻率,連續旋轉的圓,通過線性疊加得到,而傅立葉定律,就是對這個結論的數學描述,傅立葉定律說:只要一個函數滿足如狄利赫裡條件,都能分解為復指數函數之和,哪怕是如拉格朗日提到的帶有稜角的方波函數。狄利赫裡條件為:
(1) 函數在任意有限區間內連續,或只有有限個第一類間斷點;
(2)在一個周期內,函數有有限個極大值或極小值;
(3) 在絕對可積,即 。
當滿足狄利赫裡條件時,傅立葉變換及其逆變換為:
於是就可以很好的解釋拉格朗日和傅立葉之間的爭論了——拉格朗日是對的:正弦曲線無法組合成一個帶有稜角的信號,稜角處會有很小高頻波動,也就是所謂的吉布斯現象(在時域描述一個幅值不連續信號要求信號有無窮的頻率成分,但實際情況是ωc<∞,信號採集系統只能採集一定頻率範圍內的信號,這將導致出現頻率截斷,頻率截斷會引起時域信號產生「振鈴效應」,這個現象稱之為吉布斯現象)。但是,我們可以用正弦曲線來非常逼近地表示它,逼近到兩種表示方法不存在能量差別,基於此,傅立葉也是對的。一個從數學家的角度,一個從工程師的角度。
二、拉普拉斯變換(原來就是那麼回事)
傅立葉變換能幫我們解決很多問題,一經問世後便受到廣大工程師們的喜愛,因為它給人們提供了一扇不同的窗戶來觀察世界,從這個窗戶來看,很多事情往往變得簡單多了。但是,別忘了,傅立葉變換有一個很大局限性,那就是信號必須滿足狄利赫裡條件才行,特別是那個絕對可積的條件,一下子就攔截掉了一大批函數。比如函數 就無法進行傅立葉變換。這點難度當然拿不到聰明的數學家們,他們想到了一個絕佳的主意:把不滿足絕對的可積的函數乘以一個快速衰減的函數,這樣在趨於 時原函數也衰減到零了,從而滿足絕對可積。
數學描述是:
為保證 一直為衰減函數,我們把 定義域縮減到正半軸,這樣可以進行傅立葉變換就變成了:
如果假設:
那麼就得到:
這就是拉普拉斯變換。
我知道大部分人前面的數學推導沒什麼興趣,接下來就是放彩蛋的時刻了,很多童鞋會說不管傅立葉變換或者拉普拉斯變換是什麼細節,你能說點有意思的,讓人能記憶深刻的信息嗎?
我們前面提到,代表按不同頻率旋轉的單位圓,那是在複平面來看的,想像力豐富的同學可以腦補一下,如果把時間軸也加上,長什麼樣子呢?那就是螺旋曲線!
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的單位圓上;拉普拉斯變換是將函數分解到頻率幅值都在變化的圓上。因為拉普拉斯變換的基有兩個變量,因此更靈活,適用範圍更廣。