1.拉普拉斯变换
拉普拉斯变换公式:l(tn) = n!/s^n+1
syms a
laplace(a^0)
ans =1/s
laplace(a)
ans =1/s^2
laplace(t^2)
ans =2/s^3
laplace(t^7)
ans =5040/s^8
laplace(t^5)
ans =120/s^6
sin和cos函数的拉普拉斯变换是:
syms w
laplace(cos(w*t))
ans =s/(s2+w2)
laplace(sin(w*t))
ans =w/(s2+w2)
双曲余弦函数的拉普拉斯变换:
laplace(cosh(b*t))
ans =s/(s2-b2)
拉普拉斯变换是线性的,即:l{af(t) + bg(t)} = al{f(t)} + bl{g(t)}
f = 5 + exp(-2*t);
laplace(f)
ans = 5/s+1/(s+2)
2.拉普拉斯逆变换
syms s
ilaplace(1/s^3)
ans =1/2*t^2
3.微分方程求解
根据一阶导数和二阶导数的拉普拉斯变换法则,并设m = 1,我们得到下面s的方程:
s2X(s) + 1.2sX(s) + X(s) = Y(s) + sY(s)整理之后得到:
(s^2+1.2s + 1)X(s) = (1 + αs)Y(s)
=> X(s) =(1 + αs)/(s^2+1.2s + 1)*Y(s)
syms t
ezplot(heaviside(t),[-2,2])//绘制图像
syms t
laplace(heaviside(t))
ans =1/s
X(s) =(1 + αs)/(s2+1.2s + 1)*(1/s)
a = 0; b = 2; c = 5;
在定义域s内把三种情况的函数输进去。
syms s
d = s^2 + (1.2)*s + 1;
Xa = ((1+ as)/d)(1/s);
Xb = ((1+ bs)/d)(1/s);
Xc = ((1+ cs)/d)(1/s);
xa = ilaplace(Xa)//拉普拉斯逆变换
xa =-exp(-3/5t)cos(4/5t)-3/4exp(-3/5*t)sin(4/5t)+1
xb = ilaplace(Xb)//拉普拉斯逆变换
xb =-exp(-3/5t)cos(4/5t)+7/4exp(-3/5*t)sin(4/5t)+1
xc = ilaplace(Xc)//拉普拉斯逆变换
xc =1-exp(-3/5t)cos(4/5t)+11/2exp(-3/5*t)sin(4/5t)
subplot(1,2,1)//将绘图区域开始于第一块
绘制第一个函数0≤t≤10之间的图象:
ezplot(xa,[0 10])
subplot(1,2,2)//将绘图区域开始于第二块
绘制第二个函数0≤t≤10之间的图象:
ezplot(xb,[0 10])
4.傅立叶变换的计算
syms x
fourier(sin(x))
ans =i* pi *(-dirac(w-1)+dirac(w+1))
5.傅立叶逆变换
syms w
f = ifourier(-2*exp(-abs(w)))
f =-2/(1+x^2)/pi
6.快速傅立叶变换
MATLAB的函数fft可以使用计算数值向量的快速傅立叶变换(Fast Fourier Transforms)。
(1)首先我们定义时间区间:
t = 0:0.01:10;
(2)定义信号:
x = 3cos(pit) + 2cos(3pit) + cos(6pi*t);
(3)调用randn产生随机数字模拟噪声信号:
x_noisy = x + randn(size(t));
(4)显示前1000毫秒内未受干扰的原始信号图象
plot(1000*t(1:100),x(1:100)), xlabel(‘时间(ms)’), title(‘原始信号’)
(5)绘制这一时间内的噪声信号
plot(1000*t(1:100),x_noisy(1:100)),xlabel(‘时间(ms)’), title(‘噪声信号’)
(6)搜集原始信号的有用信息,计算函数f的n个点的快速傅立叶变换
FT = fft(x_noisy,512);
(7)信号中的功率可以通过计算傅立叶变换和它的共扼复数的乘积再除以总点数求得:
P = FT.*conj(FT)/512;