积分变换
1.概述
常用的积分变换有傅里叶变换,拉普拉斯变换。傅里叶变换可以参考前面的文章,这里简单介绍一下拉普拉斯变换。
拉普拉斯变换是工程数学中常用的一种积分变换,又名拉氏变换。拉氏变换是一个线性变换,可将一个有参数实数t(t≥ 0)的函数转换为一个参数为复数s的函数。拉普拉斯变换在许多工程技术和科学研究领域中有着广泛的应用,特别是在力学系统、电学系统、自动控制系统、可靠性系统以及随机服务系统等系统科学中都起着重要作用。
拉普拉斯变换是对于t≥0函数值不为零的连续时间函数x(t)通过关系式
X
(
s
)
=
∫
0
∞
x
(
t
)
e
−
s
t
d
t
X(s)=\int_{0}^{\infty}{x(t)e^{-st}}dt
X(s)=∫0∞x(t)e−stdt
(式中-st为自然对数底e的指数)变换为复变量s的函数X(s)。它也是时间函数x(t)的“复频域”表示方式。
至于它与傅里叶变换的联系,这里参考度娘的解释:
2.傅里叶积分变换
当一个非常复杂的函数变成多个初等正弦函数相加时,它的积分比之前对复杂函数的积分变得简单多了。法国数学家傅里叶发现了周期函数可以用一系列正弦函数组成的级数表示。先把函数作傅里叶变换,然后再利用莱布尼茨公式即可求出结果。
基本定义:若函数 f ( x ) f(x) f(x)满足
-
在任意有限个区间都连续或者有有限个第一类间断点,并且有有限个极值。
-
在(-∞,+∞)上绝对可积,即有限;则定义[f(x)→C(ω)]
C ( ω ) = ∫ − ∞ + ∞ f ( x ) e − i ω x d x C(\omega)=\int_{-\infty}^{+\infty}{f(x)e^{-i\omega x}}dx C(ω)=∫−∞+∞f(x)e−iωxdx
为 f(x)的(复)傅里叶变换;记C(ω) = F[ f (x)] = f (ω),称 C(ω)为(复)傅里叶变换像函数。定理:在上面定义的基础上,可以证明
f ( x ) = 1 2 π ∫ − ∞ + ∞ C ( ω ) e i ω x d ω f(x)=\frac{1}{2\pi}\int_{-\infty}^{+\infty}{C(\omega)e^{i\omega x}}d\omega f(x)=2π1∫−∞+∞C(ω)eiωxdω
(在间断点,右边的积分收敛到f(x)在该点左右极限的平均值).称该积分为 f(x)的傅里叶复积分;f(x)为 C(ω)的(傅里叶逆变换 C(ω)→f(x))原函数。常记
f ( x ) = F − 1 [ C ( ω ) ] f(x)=F^{-1}[C(\omega)] f(x)=F−1[C(ω)]MATLAB中提供傅里叶变换的命令是fourier,其调用格式如下:
命令 说明 fourier(f) f返回对默认自变量x的傅里叶变换,默认返回形式为 f ( ω ) f(\omega) f(ω) fourier(f,v) 返回的形式以v为默认变量 fourier(f,u,v) 以v代替x并对u积分,即 f ( v ) = ∫ − ∞ + ∞ f ( u ) e − i v u d u f(v)=\int_{-\infty}^{+\infty}{f(u)e^{-ivu}}du f(v)=∫−∞+∞f(u)e−ivudu 计算 f ( x , v ) = e − x 2 ∣ v ∣ s i n v v f(x,v)=e^{-x^2\frac{|v|sinv}{v}} f(x,v)=e−x2v∣v∣sinv的傅里叶变换,其中x为实数。
syms x v u real f = exp(-x^2*abs(v)*sin(v)/v); fourier(f,v,u) ans = fourier(exp(-x^2*sin(v))*heaviside(v), v, u) + fourier(heaviside(-v)*exp(x^2*sin(v)), v, u)
3.傅里叶逆变换
MATLAB中提供的傅里叶逆变换命令是ifourier,调用格式如下:
命令 | 说明 |
---|---|
ifourier(F) | f返回对默认自变量w的傅里叶逆变换,默认的返回形式是f(x),即F=F(w) => f =f(x) |
ifourier(F,u) | 返回的傅里叶逆变换以u为默认变量 |
ifourier(F,v,u) | 以v代替w的傅里叶逆变换,即 f ( v ) = 1 2 π ∫ − ∞ + ∞ F ( v ) e i v u d u f(v)=\frac{1}{2\pi} \int_{-\infty}^{+\infty}F(v)e^{ivu}du f(v)=2π1∫−∞+∞F(v)eivudu |
syms w t real
f = 2*exp(-abs(w))-1;
ifourier(f,t)
ans =
-(2*pi*dirac(t) - 4/(t^2 + 1))/(2*pi)
4.快速傅里叶变换
快速傅里叶变换(FFT)是离散傅里叶变换的快速算法,它是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅里叶变换的算法进行改进获得的。
https://zhuanlan.zhihu.com/p/347091298
实例:
A = magic(4); %生成4*4的魔方矩阵
B = ones(3); %生成3*3的全1矩阵
A(6,6)=0; %将A用0补全为6*6维
B(6,6)=0;%将B用0补全为6*6维
C=ifft2(fft2(A).*fft2(B))
C =
16.0000 18.0000 21.0000 18.0000 16.0000 13.0000
21.0000 34.0000 47.0000 47.0000 34.0000 21.0000
30.0000 50.0000 69.0000 72.0000 52.0000 33.0000
18.0000 50.0000 81.0000 84.0000 52.0000 21.0000
13.0000 34.0000 55.0000 55.0000 34.0000 13.0000
4.0000 18.0000 33.0000 30.0000 16.0000 1.0000
利用二维快速傅里叶逆变换将A矩阵的快速傅里叶变换和B矩阵的快速傅里叶变换的乘积计算。
5.拉普拉斯变换
MATLAB中提供的拉普拉斯变换变换命令为laplace,调用格式如下:
命令 | 说明 |
---|---|
laplace(F) | 计算默认变量为t的拉氏变换,默认的返回形式为L(s) |
laplace(F,t) | 计算结果为t为默认变量 |
laplace(F,w,z) | 以z代替s对w积分,即 L ( z ) = ∫ 0 ∞ F ( w ) e − z w d w L(z)=\int_{0}^{\infty}F(w)e^{-zw}dw L(z)=∫0∞F(w)e−zwdw |
实例:计算 f ( x ) = x 2 − x f(x)=x^2-x f(x)=x2−x的拉普拉斯变换
syms x
f = x^2-x;
laplace(f)
ans =
2/s^3 - 1/s^2
6.拉普拉斯逆变换
拉普拉斯逆变换可以表示为已知函数f(t)的拉普拉斯变换F(s),求原函数f(t)的运算为拉普拉斯反变换。其公式为:
f
(
t
)
=
L
−
1
[
F
(
s
)
]
=
1
2
π
j
∫
β
−
j
∞
β
+
j
∞
F
(
s
)
e
s
t
d
t
f(t)=L^{-1}[F(s)]=\frac{1}{2\pi j}\int_{\beta-j\infty}^{\beta+j\infty}F(s)e^{st}dt
f(t)=L−1[F(s)]=2πj1∫β−j∞β+j∞F(s)estdt
MATLAB提供的拉普拉斯逆变换的命令是ilaplace,其调用格式如下:
命令 | 说明 |
---|---|
ilaplace(L) | 计算对默认变量s的拉普拉斯逆变换,默认的返回形式为F(t),即求 f ( w ) = ∫ c − j w c + j w L ( s ) e s t d s f(w)=\int_{c-jw}^{c+jw}L(s)e^{st}ds f(w)=∫c−jwc+jwL(s)estds |
ilaplace(L,y) | 计算结果以y为默认变量, f ( y ) = ∫ c − j w c + j w L ( y ) e y t d y f(y)=\int_{c-jw}^{c+jw}L(y)e^{yt}dy f(y)=∫c−jwc+jwL(y)eytdy |
ilaplace(L,y,x) | 以x代替t的拉普拉斯逆变换, f ( x ) = ∫ c − j w c + j w L ( y ) e x y d y f(x)=\int_{c-jw}^{c+jw}L(y)e^{xy}dy f(x)=∫c−jwc+jwL(y)exydy |
实例:计算 f ( x ) = − x 3 f(x)=-x^3 f(x)=−x3的拉普拉斯变换和拉普拉斯逆变换。
syms x t
f = -x^3;
laplace(f,x,t)
ans =
-6/t^4
ilaplace(f,x,t)
ans =
-dirac(3, t)
验证拉普拉斯变换与拉普拉斯逆变换:
F = laplace(f,x,t)
F =
-6/t^4
ilaplace(F)
ans =
-x^3