【发布时间】:2014-11-08 16:56:30
【问题描述】:
我目前正在从事以下项目: 绘制数据 -> 获取 fft -> 应用过滤器 -> 逆 fft -> 绘制结果。
代码已经写出来了。然而,因为我们这样做是为了演示,所以我们的观众希望看到一些“动态”或 matlab 动画。
因此,我想知道我们是否可以在 matlab 中简化这个动画?
fileID = fopen('data.txt');
dataRead = textscan(fileID,'%f %f %f');
Fs=1000;
Time=dataCol(:,1);
Data=dataCol(:,2);
figure; plot(Time,Data);
frequency=(linspace(-0.5,0.5,length(Data))*Fs);
F=fftshift(fft(Data));
figure; plot(frequency,abs(F)); %plot the magnitude frequency spectrum;
%now apply filter;
mask=zeros(1, length(F));
mask(length(F)/2-2 : length(F)/2+2)=1;
New_F=mask.*F;
%show the frequency spectrum after apply the filter.
figure, plot(frequency, abs(New_F));
% do ifft;
new_data=ifftshift(ifft(New_F));
plot (Time, new_data);
【问题讨论】:
-
您可以将绘图写成动画 gif 中的帧。
-
您能详细说明一下吗?
-
只需谷歌“matlab 动画 gif”或类似的东西。