正在加载图片...
计算实习题 (在教师的指导下,编制程序在电子计算机上实际计算 1.利用现成的数学通用软件(如 MATLAB、 Mathematica、 Maple等), 对于N=32,64,128: (1)生成实数序列{x(k)}x; (2)用FFT计算{x(k)泌的离散 Fourier变换序列{X() (3)作出{x(k)}和{|X()}的图并进行分析(参见图16.5.4); (4)设定δ>0,将{XO)}中满足|X(kδ的数据全部置为零, 再进行离散 Fourier逆变换,将得到的数据与{x(k)比较 (5)改变δ的值,重复(4),分析不同的δ对逆变换所得到的数据 的影响。 解源程序为 function ex1601(N) t=0:N-1 x=randn(N, 1):*20; %rand y=fft(x, N) zp% lot(t,x,’+',t,z,’o') delta= input(请输入误差’) for i=0: N-1 f z(i+1)<delta y(i+1)=0 end z=real(ifft(y)) plot(t,x,’+’,t,z,’o’) 运行结果分析:以N=128为例。本程序数据是随机产生的,“+”为 原始数据,“o”为变换后的模的数据 °。889 取=5,将{X()}中满足|X(k的数据全部置为零,再进行离散计 算 实 习 题 (在教师的指导下,编制程序在电子计算机上实际计算) ⒈ 利用现成的数学通用软件(如 MATLAB、Mathematica、Maple 等), 对于 N = 32, , 64 128 : ⑴ 生成实数序列{ ( x k )}k N = − 0 1 ; ⑵ 用 FFT 计算{ ( x k )}k N = − 0 1 的离散 Fourier 变换序列{ ( X j)}N j= − 0 1; ⑶ 作出 { ( x k )}和{ | X j ( )| }的图并进行分析(参见图 16.5.4); ⑷ 设定δ 0 > 0 ,将{ | X j ( )| }中满足 0 | X ( j)|< δ 的数据全部置为零, 再进行离散 Fourier 逆变换,将得到的数据与{ ( x k )}比较; ⑸ 改变δ 0 的值,重复⑷,分析不同的δ 0 对逆变换所得到的数据 的影响。 解 源程序为 function ex1601(N) t=0:N-1; x=randn(N,1)*20;%randn y=fft(x,N); z=abs(y); plot(t,x,'+',t,z,'o') % delta=input('请输入误差'); for i=0:N-1 if z(i+1)<delta y(i+1)=0; end end z=real(ifft(y)); plot(t,x,'+',t,z,'o') 运行结果分析:以 N=128 为例。本程序数据是随机产生的,“+”为 原始数据,“o”为变换后的模的数据。 取 0 δ = 5,将{ | X j ( )| }中满足 0 | X ( j)|< δ 的数据全部置为零,再进行离散 6
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有