在MATLAB中逐个显示多个图形

时间:2011-03-12 21:05:14

标签: matlab

我有20个数字像幻灯片一样一个接一个地显示。我可以在Matlab中使用Imshow吗?任何形式的帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

情侣选择:

  • 为每个情节打开一个数字
  • 打开并关闭每个情节的数字
  • 重复使用一个数字

为每个情节打开一个数字

for i=1:20
  h = figure;
  %plot here
  pause
end

打开并关闭每个情节的数字

for i=1:20
  h = figure;
  %plot 
  pause
  close gcf
end

重复使用一个数字

h=figure
for i=1:20
    clf(h);
    %plot
    pause
end

或者取决于您正在绘制的内容,您可以使用refreshdata方法。

如果您使用@Jonas方法,,如果您有双显示器,则必须强制数字到主监视器以使getframe实际工作,as per。您可以通过以下方式执行此操作:

ff=figure;
movegui(ff)

答案 1 :(得分:1)

您可以使用MOVIE一个接一个地显示绘图/图像。为此,您可以创建数字,通过GETFRAME捕获它们,然后拨打movie。请参阅getframe

的帮助中的此示例
Z = peaks; surf(Z)
axis tight
set(gca,'NextPlot','replacechildren');
for j = 1:20
    surf(sin(2*pi*j/20)*Z,Z)
    F(j) = getframe;
end
movie(F,20) % Play the movie twenty times