zhxcumt 发表于 2007-5-12 21:43

一样的语句不一样的结果

大家帮忙看下面的程序:
%用FFT方法消噪演示程序
>> n=1024;
>> t=1:n;
>> x=rand(size(t));
>> Y=fft(x,n);
>> Y(200:824)=zeros(size(1:625));
>> z=ifft(Y,n);
>> for i=1:n
t=i/n;
t1=(t-1/8)^2;t3=(t-3/8)^2;
t4=(t-4/8)^2;t6=(t-6/8)^2;
t7=(t-7/8)^2;m=640*pi;
k(i)=i;
s(i)=cos(2*pi*280*t)*(exp(-m*t1)+exp(-m*t3)+exp(-m*t4)+exp(-m*t6)+exp(-m*t7));
end
>> y=s+z;
>> subplot(3,2,1);
>> plot(k,s);axis();xlabel('t');
>> s1=fft(s,n);
>> subplot(3,2,2);
>> plot(k,s1);axis();xlabel('f');
>> subplot(3,2,3);
>> plot(k,y);axis();xlabel('t');
>> s2=fft(y,n);
>> subplot(3,2,4);
>> plot(k,s2);axis();xlabel('f');
>> subplot(3,2,5);
>> plot(k,s);axis();xlabel('t');
>> subplot(3,2,6);
>> plot(k,s1);axis();xlabel('f');
由于图片太大没法上传,请大家自己运行一下吧,但大家注意一下结果
后面两句画图命令和上面的两句

plot(k,s);axis();xlabel('t');
plot(k,s1);axis();xlabel('f');
是一样的,但画出来的图却有些不一样,这是为什么呢?这之间k,s,s1的值并没有改变啊.

eight 发表于 2007-5-13 11:00

原帖由 zhxcumt 于 2007-5-12 21:43 发表 http://www.chinavib.com/forum/images/common/back.gif
大家帮忙看下面的程序:
%用FFT方法消噪演示程序
>> n=1024;
>> t=1:n;
>> x=rand(size(t));
>> Y=fft(x,n);
>> Y(200:824)=zeros(size(1:625));
>> z=ifft(Y,n);
>> for i=1:n
t=i/n;
t1=(t-1/8)^2;t ...


已测试,不存在你说的问题

zhxcumt 发表于 2007-5-13 17:23

是直接粘贴运行的吗?我怎么运行是这种结果:

zhxcumt 发表于 2007-5-13 17:24

最后一辐图的X轴有波动

flybaly 发表于 2007-5-13 20:09

显示问题,放大了看波动的地方也等于零
我估计是各自电脑的显卡不同

eight 发表于 2007-5-14 00:03

原帖由 zhxcumt 于 2007-5-13 17:23 发表 http://www.chinavib.com/forum/images/common/back.gif
是直接粘贴运行的吗?我怎么运行是这种结果:
25562


我附上的图片是直接运行后粘贴过来的

zhxcumt 发表于 2007-5-14 09:04

那这个程序为什么起名FFT的消噪呢,这可是教材上的原程序啊,画图语句根本就没变,怎么能说明消噪过程呢?十分疑惑……

tujian510 发表于 2007-5-23 11:20

我说呢 看了半天没看出个消噪声来
页: [1]
查看完整版本: 一样的语句不一样的结果