
实验三MATLAB求Fourier变换及逆变换(一)实验类型:综合性(二)实验类别:基础实验(三) 实验学时数:2学时(四)实验目的1、掌握MATLAB符号计算,符号对象,符号微积分,符号方程求解;2、掌握Matlab中Fourier变换和Laplace变换的基本计算;3、掌握MATLAB的绘图功能(五)实验内容MATLAB基本命令与实际操作、Laplace变换和Fourier变换运算的一些基本命令以及绘图功能等。(六)实验要求1、学生在实验操作过程中自己动手独立完成,1人为1组。2、完成实验报告:按照试验的每个题目的具体要求完成(七)实验仪器、设备计算机(安装Windows98、Windows2000或WindowsXP或以上)(八)实验课承担单位:数学实验室基本命令练习使用:1、fourier指令的使用;simple指令在MATLAB不同版本中的表现差异。2、ifourier(Yw,w,t)反变换命令的使用3、fourier的缺省调用格式的使用1
1 实验三 MATLAB 求 Fourier 变换及逆变换 (一) 实验类型:综合性 (二) 实验类别:基础实验 (三) 实验学时数:2 学时 (四) 实验目的 1、掌握 MATLAB 符号计算,符号对象,符号微积分,符号方程求解; 2、掌握 Matlab 中 Fourier 变换和 Laplace 变换的基本计算; 3、掌握 MATLAB 的绘图功能. (五) 实验内容 MATLAB 基本命令与实际操作、Laplace 变换和 Fourier 变换运算的一些基 本命令以及绘图功能等。 (六) 实验要求 1、学生在实验操作过程中自己动手独立完成,1 人为 1 组。 2、完成实验报告:按照试验的每个题目的具体要求完成 (七) 实验仪器、设备 计算机(安装 Windows98 、Windows2000 或 Windows XP 或以 上) (八) 实验课承担单位:数学实验室 基本命令练习使用: 1、fourier 指令的使用; simple 指令在 MATLAB 不同版本中的表现差异。 2、ifourier(Yw,w,t)反变换命令的使用 3、fourier 的缺省调用格式的使用

例3.1求单位阶跃函数和单位脉冲函数的Fourier变换。本例演示三个重要内容:单位阶跃函数和单位脉冲函数的符号表示;fourier指令的使用;simple指令在MATLAB不同版本中的表现差异。(1)求Fourier变换symstw;ut=sym(Heaviside(t));%定义0时刻起跳的单位阶跃函数UT=fourier(ut)%实施Fourier变换,给出与理论一致的结果UTC=maple(convert,UT,piecewise'w')%计算结果起指示作用UTS=simple(UT)%在此是5.3版的运算结果,简化导致漏项!UT =pi*Dirac(w)-i/wUTC =PIECEWISE([undefined, W = 0],[O, otherwise])UTS =-i/W(2)求Fourier反变换进行验算Ut=ifourier(UT,w,t)%结果与原函数相等Uts=ifourier(UTS,w,t)%结果与原函数不等Ut =1/2+1/2*Heaviside(t)-1/2*Heaviside(-t)Uts =1/2*Heaviside(t)-1/2*Heaviside(-t)2
2 例 3.1 求单位阶跃函数和单位脉冲函数的 Fourier 变换。本例演示三个重要内 容:单位阶跃函数和单位脉冲函数的符号表示; fourier 指令的使用; simple 指令在 MATLAB 不同版本中的表现差异。 (1)求 Fourier 变换 syms t w;ut=sym('Heaviside(t)'); % 定义 0 时刻起跳的单位阶跃函数 UT=fourier(ut) % 实施 Fourier 变换,给出与理论一致的结果 UTC=maple('convert',UT,'piecewise','w') % 计算结果起指示作用 UTS=simple(UT) % 在此是 5.3 版的运算结果,简化导致漏项! UT = pi*Dirac(w)-i/w UTC = PIECEWISE([undefined, w = 0],[0, otherwise]) UTS = -i/w (2)求 Fourier 反变换进行验算 Ut=ifourier(UT,w,t) % 结果与原函数相等 Uts=ifourier(UTS,w,t) % 结果与原函数不等 Ut = 1/2+1/2*Heaviside(t)-1/2*Heaviside(-t) Uts = 1/2*Heaviside(t)-1/2*Heaviside(-t)

例3.2用fourier指令求方波脉冲的Fourier变换。本例演示:fourier,simple指令的配合使用。(1)求Fourier变换syms A t tao w;yt=sym("Heaviside(t+tao/2)-Heaviside(t-tao/2)");Yw=fourier(yt,t,w)Ywc=maple(convert,Yw,piecewise',w")%计算结果起指示作用Yws=simple(Yw)YW =exp(1/2**tao*w)*(pi*Dirac(w)-i/w)-exp(-1/2**tao*w)*(pi*Dirac(w)-i/w)YWC =-*exp(1/2*j*tao*w)/w+i*exp(-1/2*j*tao*w)/wYwS =2*sin(1/2*tao*w)/w(2)用反变换验算Yt=ifourier(Yw,w,t),Yws=ifourier(Yws,w,t)Yt =1/2*Heaviside(t+1/2*tao)-1/2*Heaviside(-t-1/2*tao)-1/2*Heaviside(t-1/2*tao)+1/2*Heaviside(-t+1/2*tao)YwS =1/2*Heaviside(t+1/2*tao)-1/2*Heaviside(-t-1/2*tao)-1/2*Heaviside(t-3
3 例 3.2 用 fourier 指令求方波脉冲的 Fourier 变换。本例演示:fourier, simple 指令的配合使用。 (1)求 Fourier 变换 syms A t tao w;yt=sym('Heaviside(t+tao/2)-Heaviside(t-tao/2)'); Yw=fourier(yt,t,w) Ywc=maple('convert',Yw,'piecewise','w') % 计算结果起指示作用 Yws=simple(Yw) Yw = exp(1/2*i*tao*w)*(pi*Dirac(w)-i/w)-exp(-1/2*i*tao*w)*(pi*Dirac(w)-i/w) Ywc = -i*exp(1/2*i*tao*w)/w+i*exp(-1/2*i*tao*w)/w Yws = 2*sin(1/2*tao*w)/w (2)用反变换验算 Yt=ifourier(Yw,w,t),Yws=ifourier(Yws,w,t) Yt = 1/2*Heaviside(t+1/2*tao)-1/2*Heaviside(-t-1/2*tao)-1/2*Heaviside(t- 1/2*tao)+1/2*Heaviside(-t+1/2*tao) Yws = 1/2*Heaviside(t+1/2*tao)-1/2*Heaviside(-t-1/2*tao)-1/2*Heaviside(t-

1/2*tao)+1/2*Heaviside(-t+1/2*tao)例3.3求函数的Fourier变换。本例演示:fourier的缺省调用格式的使用要十分谨慎。syms t x w;ft=exp(-(t-x)*sym(Heaviside(t-x)");F1=simple(fourier(ft,t,w)%给出以w为频率变量的正确结果F2=simple(fourier(ft))%误把x当作时间变量F3=simple(fourier(ft,t))%误把×当作时间变量,又误把t当作频率变量F1 =1/exp(i*x*w)/(1+i*w)F2 =i*exp(-i*t*w)/(i+w)F3 =i*exp(-t*(2+i*t)/(i+t)T(o)=!例3.4求t的Fourier变换【Matlab源程序】syms t vfourier(1/t)%结果为:ans =i*pi*(1-2*heaviside(w)例 3.5 求F(w)=we-"heaviside(W)的 Fourier逆变换,【Matlab源程序】syms t u w4
4 1/2*tao)+1/2*Heaviside(-t+1/2*tao) 例 3.3 求函数的 Fourier 变换。本例演示: fourier 的缺省调用格式的使用要 十分谨慎。 syms t x w;ft=exp(-(t-x))*sym('Heaviside(t-x)'); F1=simple(fourier(ft,t,w)) % 给出以 w 为频率变量的正确结果 F2=simple(fourier(ft)) % 误把 x 当作时间变量 F3=simple(fourier(ft,t)) % 误把 x 当作时间变量,又误把 t 当作频率变量 F1 = 1/exp(i*x*w)/(1+i*w) F2 = i*exp(-i*t*w)/(i+w) F3 = i*exp(-t*(2+i*t))/(i+t) 例 3.4 求 的 Fourier 变换. 【Matlab 源程序】 syms t v fourier(1/t) %结果为: ans = i*pi*(1-2*heaviside(w)) 例 3.5 求 的 Fourier 逆变换. 【Matlab 源程序】 syms t u w 1 f t( ) t = 3w F e (w) w heaviside(w) − =

ifourier(w*exp(-3*w)*sym(Heaviside(w)")%结果为:ans=1/2/(-3+i*x)^2/pi5
5 ifourier(w*exp(-3*w)*sym('Heaviside(w)')) %结果为: ans =1/2/(-3+i*x)^2/pi