
实验三MATLAB求Fourier变换及逆变换(一)实验类型:综合性(二)实验类别:基础实验(三)实验学时数:2学时
实验三 MATLAB求Fourier变换及逆变换 (一) 实验类型:综合性 (二) 实验类别:基础实验 (三) 实验学时数:2学时

基本命令1、fourier 指令的使用F = fourier(f,u,v)其中f是需要变换的表达式;u是变量;v是算子就是最后的表达式是z或者v的函数
F = fourier(f,u,v) 其中f是需要变换的表达式;u是变量; v是算子 就是最后的表达式是z或者v的函数 基本命令 1、fourier 指令的使用

20例1 求(=fFourier变换f<01解 syms tw;ut=sym(Heaviside(t)');%定义0时刻起跳的单位阶跃函数UT=fourier(ut)%实施Fourier变换,给出与理论一致的结果UT = pi*Dirac(w)-i/w
例1 求 Fourier 变换 解 syms t w; ut=sym('Heaviside(t)'); % 定义 0 时刻起跳的单位阶跃函数 UT=fourier(ut) % 实施 Fourier 变换,给出与理论一致的结果 UT = pi*Dirac(w)-i/w

2、simple 指令matlab中simple函数的用法simple(s'),s是字符串,如果是对某个字符函数,如y=(2+x)/x化简,直接用simple(y)就得到2/x+1;有时表达式比较复杂,一次化简结果不太理想,就再次化简,可以用simple(simple(y))simplify和simple是Matlab符号数学工具箱提供的两个简化函数,区别如下:simplify的调用格式为:simplify(S);对表达式S进行化简。Simple是通过对表达式尝试多种不同的方法(包括simplify)进行化简,以寻求符号表达式S的最简形式
2、simple 指令 matlab中simple函数的用法 simple(‘s’),s是字符串, 如果是对某个字符函数,如 y=(2+x)/x 化简,直接用simple(y)就得到2/x+1; 有 时表达式比较复杂,一次化简结果不太理想,就再 次化简,可以用simple(simple(y)) simplify和simple是Matlab符号数学工具箱提供 的两个简化函数,区别如下: simplify的调用格 式为:simplify(S);对表达式S进行化简。Simple 是通过对表达式尝试多种不同的方法(包括simplify) 进行化简,以寻求符号表达式S的最简形式

对上述例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/wUTC =PIECEWISE([undefined, w = O],[O, otherwise])UTS = pi*Dirac(w)-i/w
对上述例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 = pi*Dirac(w)-i/w

3、ifourier(Yw,w,t)逆变换命令的使用对上述例1求Fourier逆变换进行验算解 syms t w;UT = pi*Dirac(w)-i/w;Ut=ifourier(UT,w,t) % 结果与原函数相等Ut =heaviside(t)或解1 syms tw;Yw = pi*Dirac(w)-i/w;ifourier(Yw,w,t)ans =heaviside(t)
3、ifourier(Yw,w,t)逆变换命令的使用 对上述例1 求 Fourier 逆变换进行验算 解 syms t w; UT = pi*Dirac(w)-i/w; Ut=ifourier(UT,w,t) % 结果与原函数相等 Ut =heaviside(t) 或解1 syms t w; Yw = pi*Dirac(w)-i/w; ifourier(Yw,w,t) ans =heaviside(t)

4、fourier的缺省调用格式的使用例2 求 =[e-)t≥x的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)
4、fourier 的缺省调用格式的使用 例2 求 的 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)

注释:(1)sym的意思是symbol,就是后面括号里面是个代数式,要进行符号运算,不加意思就完全变了(2)Dirac-----O函数(3)Heaviside----一般表示为阶跃函数function f=heaviside(t)f=(t>0);小于0的都为0;大于0的为1;就是阶跃函数
(1)sym的意思是symbol,就是后面括号里面是个 代数式,要进行符号运算,不加意思就完全变了 (2)Dirac-δ函数 (3)Heaviside-一般表示为阶跃函数 function f=heaviside(t) f=(t>0);小于0的都为0;大于0的为1;就是阶跃函数. 注释:

例3 求函数f(t)==的Fourier变换t【(Matlab源程序)syms t Wfourier(1/t)%结果为:ans = i*pi*(1-2*heaviside(w)
例 求函数 ( ) 的Fourier变换 1 3 t f t = 【Matlab源程序】 syms t W fourier(1/t) %结果为: ans = i*pi*(1-2*heaviside(w))

求Fourier变换还可用方法:fourier,simple指令的配合使用例4 求函数f =e-b2x (bO)的Fourier变换解:【Matlab源程序】syms x w;symsbpositive%定义符号参量bf=exp(-b^2*x^2);F=simple(fourier(f))%结果为:F=1/b*pi^(1/2)*exp(-1/4*w^2/b^2)
求Fourier变换还可用方法:fourier, simple 指令 的配合使用 例4 求函数 ( 0)的Fourier变换 2 2 = − f e b b x 解:【Matlab源程序】 %结果为: F =1/b*pi^(1/2)*exp(-1/4*w^2/b^2) syms x w; syms b positive ;%定义符号参量b f=exp(-b^2*x^2); F=simple(fourier(f))