
w0(n,:)=exp(-n.^(2*p)*k.^2/(2*N.^2))*(n.^p)/(N*sqrt(2*pi))是窗函数,k是t的离散取样意义。公式的话就是简单的在S变换里把f变成了f^p(f的p次方)
这里p是要赋值的,它是给定的一个数值。如果p=1那就是原S变换,如果p>1则窗函数随f变化呈指数增长,一般这个效果不值得应用。反而是0<p<1时,则窗函数不对称性和窗宽随f呈对数变化,f小时窗变化剧烈,f大时窗变化反而很小,会比较有用的。
拉普拉斯(Laplace)变换是求解微分方程的一个有力的工具,是将微积分运算转变为乘除运算,大大提供运算效率。用matlab的实现拉普拉斯变换的函数是Laplace(),其逆变换是iLaplace()。
例1:求函数 y=sin2t 的 Laplace 变换。
syms t f F
f=sin(2*t )%原函数
F=laplace(f)%象函数
F =
2/(s^2 + 4)
例2:求函数 1/(s(s²+5)) 的 Laplace 逆变换。
syms s f F
F=1/(s*(s^2+5)) %象函数
f=ilaplace(F)%原函数
f =
1/5 - cos(5^(1/2)*t)/5
例3:求方程y"+2y'-3y=exp(-t),满足初始条件y(0)=0,y'(0)=1的解。
解:对方程的两边取拉氏变换,并考虑到初始条件,则得
s²Y(s)-1+2sY(s)-3Y(s)=1/(s+1)
以下用matlab求解。
Ys=solve('s^2*Y-1+2*s*Y-3*Y=1/(s+1)','Y');
simplify(ilaplace(Ys))
ans =
(3*exp(t))/8 - exp(-3*t)/8 - exp(-t)/4
求解得微分方程的解
y(t)=(3*exp(t))/8 - exp(-3*t)/8 - exp(-t)/4
matalb求得结果与手动计算得结果是等价的。1. 手动计算得结果
f1 = x0*cos(8*t)*exp(-6*t) + sin(8*t)*exp(-6*t)*(v0+6*x0)/8
f1 = expand(f1, 'ArithmeticOnly', true)
2. matalb求得结果
f2 = x0*exp(-6*t)*(cos(8*t) + sin(8*t)*((v0 + 12*x0)/(8*x0) - 3/4))
f2 = expand(f2, 'ArithmeticOnly', true)
3.
simplify(f1-f2)
ans = 0
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)