2014-11-08 76 views
-2

我目前正在一个项目: 绘制数据 - >采取fft - >应用过滤器 - >逆fft - >绘制出结果。Matlab:动画的情节和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); 
+0

您可以将图形写成动画gif中的框架。 – AnonSubmitter85 2014-11-08 17:34:55

+0

您能否详细说明一下? – kuku 2014-11-08 17:58:56

+0

只是谷歌'matlab动画GIF'或类似的东西。 – AnonSubmitter85 2014-11-08 18:10:00

回答

0

以下对您有帮助吗?

您可以使用uiopen()以交互方式打开文件并获取文件名。它将打开一个包含文件夹位置的标准文件打开对话框。那会在那里添加一些视觉材料。还使用inputdlg("Plese enter bla bla bla")将帮助您使用文本框获取数据。你可以从中获得Fs,Time和Data。此外,一旦你承担一切,显示msgbox("All done!")让用户知道它已完成。

另一种选择是简单地设计一个GUI窗口,其中右半部分将显示您的情节,左半部分将包含所有文本框以捕获文件名,数据等。MATLAB GUI构建器应该能够帮助您构建那在5-6分钟内。