失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > matlab傅里叶反变换举例 matlab傅里叶正逆变换详细说明+图例

matlab傅里叶反变换举例 matlab傅里叶正逆变换详细说明+图例

时间:2024-01-11 04:58:12

相关推荐

matlab傅里叶反变换举例 matlab傅里叶正逆变换详细说明+图例

MATLAB作业

方法一:

N=200;dt=0.001;n=1:200;

x=3*sin(2*pi*10*n*dt)+3*sin(2*pi*30*n*dt)+sin(2*pi*40*n*dt)+sin(2 *pi*50*n*dt)+sin(2*pi*60*n*dt)+6*sin(2*pi*80*n*dt);%建立时间序列

X=zeros(1,200); %给X一个预先的内存空间,提高运行速度figure(1),plot(n,x); %画出时间系列图像

%傅里叶变换

for k=1:200

for n=1:200

X(k)=X(k)+x(n)*exp(-i*2*pi*n*k/N);

end

end

f=abs(X); %对傅里叶变换后的图像取正数部分

figure(2),plot(f); %画出傅里叶变换后的图像

%滤波

H=ones(200);H(8:14)=0;H(186:193)=0; %建立40、50、60Hz的时间序列所在空间域数值为0的一维矩阵

for k=1:200

Y(k)=X(k)*H(k);

end

k=1:200;

figure(3);

plot(k,abs(Y)); %画出滤波之后的时间序列

%傅里叶逆变换

y=zeros(1,200)% 给y一个预先的内存空间,提高运行速度

for n=1:200

for k=1:200

y(n)=Y(k)*exp(i*2*pi*n*k/N)+y(n);

end

y(n)=y(n)/N;

end

figure(4) ;

n=1:200;

plot(n,y,'r-',n,x,'b-');% 画出原时间序列和滤波后的时间序列,可见滤波之后的时间序列振幅明显变小

方法二:

N=200;dt=0.001;n=1:200;

x=3*sin(2*pi*10*n*dt)+3*sin(2*pi*30*n*dt)+sin(2*pi*40*n*dt)+sin(2

如果觉得《matlab傅里叶反变换举例 matlab傅里叶正逆变换详细说明+图例》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。