0

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

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;

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

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

4

2 回答 2

1

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

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

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


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

于 2012-10-15T10:09:46.437 回答
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

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

于 2012-10-15T11:44:13.000 回答