【问题标题】:Matlab: animating the plot and fftMatlab:动画情节和fft
【发布时间】: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”或类似的东西。

标签: matlab animation plot fft


【解决方案1】:

以下内容对您有帮助吗?

您可以使用uiopen() 以交互方式打开文件并获取文件名。它将打开一个带有文件夹位置的标准文件打开对话框。这将在其中添加一些视觉内容。还使用inputdlg("Plese enter bla bla bla") 将帮助您使用文本框获取数据。您可以从中获取 Fs、Time 和 Data。另外,处理完所有内容后,显示msgbox("All done!") 让用户知道它已经完成。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    • 2014-05-11
    • 1970-01-01
    • 1970-01-01
    • 2017-09-28
    相关资源
    最近更新 更多