作业帮 > 数学 > 作业

matlab如何做全时域的傅里叶变换

来源:学生作业帮 编辑:拍题作业网作业帮 分类:数学作业 时间:2024/05/19 16:02:56
matlab如何做全时域的傅里叶变换
我知道如何写局部的变换
如t=1:0.1:20
x=sin(20*t).
如何让t的范围为无穷(全时域)呢,
这样写就可以了:
syms t v;
x=sin(20*t);
F=fourier(x,v)
结果显示:
F = -pi*(dirac(v - 20) - dirac(v + 20))*i
是不是你想要的结果?希望可以帮到你!
再问: 谢谢,如果我想画出F关于V的曲线应该怎么写程序呢?
再答: ezplot(F)就可以了。 如果F里有几个变量,可以这么指定:ezplot(@(x,y)myfun(x,y,2))
再问: 谢谢,还有问题要问,已经提高了悬赏分。1.结果里面的i是什么意思,2.画出的图形如下,为什么看不到频率的信息呢,按我的理解,应该在20的地方有值才对。
再答: 这就是傅里叶变换。此处的f(t)=sin(20*t),F(w)=int(sym('sin(20*t)*exp^(-i*w*t)'),'t',-inf,inf)。结果:F=- limit((20*cos(20*t) + w*sin(20*t)*i)/(exp(t*w*i)*(w^2 - 400)), t = -Inf) + limit((20*cos(20*t) + w*sin(20*t)*i)/(exp(t*w*i)*(w^2 - 400)), t = Inf);这是直观的理解。从理论上来讲,上式是等于:F=fourier(x,w)= -pi*(dirac(w - 20) - dirac(w + 20))*i 的。它两怎么能计算就相等了呢?在我的数学知识范围内,我无法给你解释。不过dirac是这样定义的。:当X不等于0时,dirac(X) =0,                                           当X等于0时,dirac(X) =无穷大。回答你提出的问题:1,i 应该是虚数单位;i*i=-1,也就是说F是个纯虚数;                                2,在20处的值,F = -pi*(dirac(20- 20) - dirac(20+ 20))*i                                                              =-pi*(无穷大- 0)*i  这就是我的理解。希望对你有用!