在Matlab中关闭/暂停过程

时间:2012-09-18 11:09:04

标签: matlab plot keyboard

我有很多情节的代码。问题(借口我的无知,因为我不知道是否可能)是,例如,当我从头开始执行时,我直接看到最后一个情节,而不是一个接一个。所以,例如,我已经尝试过这个但它根本不起作用:

pause(2); %After two seconds it starts and open the plot but I directly see the last plot, not this    
plot (x, y);
title ('Average values')
close; % The command close it works but only if I press 'evaluate function'

pause(2);
plot (out1,out2);
close;

另外,我尝试使用键盘命令尝试是否可以用一个键关闭绘图然后用另一个键打开另一个但我无法做到。

如果有人知道我该怎么做,我会这样,我会非常感激,

2 个答案:

答案 0 :(得分:1)

Matlab通常在同一过程中进行绘图和计算。因此,通常情况下,在您的计划中有一些空余时间用于绘图之前,您将无法显示任何内容。

要强制matlab重绘窗口,可以使用drawnow命令。但它只是恰好在当下绘制 - 所以如果您的图形窗口被隐藏或隐藏在其他窗口后面,那么在前景中重绘不会发生,直到下一次。

在您的情况下,您还可以在暂停之前关闭绘图(可以显示的位置)。所以,如果你要交换这两个命令,你应该看到它。暂停的明显缺点是 - 它暂时停止你的程序。


根据我的经验,我建议您将图形保存为图形文件,并使用一些外部程序来查看它们。 此外,我发现弹出的新窗口很烦人并打断了我的工作流程 - 所以我会重复使用图形窗口,只需用clf清除它。

答案 1 :(得分:0)

我可能会误解你要做的事情,但是当我尝试创造你所描述的内容时,它就像我预期的那样对我有用。这是我的例子:

请注意,您需要关闭所有打开的图形窗口,以确保它弹出而不是让它留在后台。

pause(2); % Wait 2 seconds before starting
plot(1:10); % Plot an upward line
title('up'); % Give it a title

pause(2); % Wait 2 seconds before showing the next plot
plot(10:-1:1); % Plot an downward line
title('down'); % Give it a title

根据您的使用方式,保存图表可能是一个更好的解决方案。