Matlab中的关闭/暂停过程

Posted

技术标签:

【中文标题】Matlab中的关闭/暂停过程【英文标题】:Close/pause process in Matlab 【发布时间】:2012-09-18 11:09:03 【问题描述】:

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

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;

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

如果有人知道我该怎么做,我会很感激,

【问题讨论】:

【参考方案1】:

Matlab 通常在同一过程中进行绘图和计算。所以通常你不会得到任何显示,直到有一些空闲时间在你的程序中绘图。

要强制 matlab 重绘窗口,您可以使用drawnow 命令。但它只在此刻准确绘制 - 因此,如果您的图形窗口被隐藏或隐藏在其他窗口之后,则在下一次之前不会重新绘制前景。

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


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

【讨论】:

【参考方案2】:

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

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

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

根据您希望如何使用它们,保存绘图可能是一个更好的解决方案。

【讨论】:

以上是关于Matlab中的关闭/暂停过程的主要内容,如果未能解决你的问题,请参考以下文章

Matlab GUI中的无限循环导致关闭GUI时Matlab冻结?

Matlab:读取文件夹中的所有波形[关闭]

保存Matlab音频输出

matlab应力云图怎么导出数据库

如何暂停存储过程一段时间?

在MATLAB中的另一个图像中插入图像区域[关闭]