3

我在 matlab 中有一个有趣的问题。如果我在脚本中运行以下代码并通过选择它并按 F9 来运行它:

figure
subplot(4, 4, [1 2 5 6 9 10]);
plotGrid(spin1HGD, 2);    % A function to plot a grid, 
                          % essentially a bunch of patches. 
campos([27.8504  -39.0203   71.3373]);
axis equal

我得到下图:

在此处输入图像描述

现在,如果我立即运行axis equal,它实际上会这样做:

在此处输入图像描述

这是我的 matlab 终端的屏幕截图:

在此处输入图像描述

所以我肯定axis equal在脚本的末尾运行,然后我必须手动运行它才能工作。

烦人的是,除了这段代码,我什么都不能重现它?什么是交易?

4

1 回答 1

2

如建议的那样,添加drawnow之前axis equal将解决此问题。

要重现此问题,请在脚本中运行此代码:

figure
subplot(4, 4, [1 2 5 6 9 10]);
patch(rand(3), rand(3), [1 0 1])
campos([27.8504  -39.0203   71.3373]);
% drawnow 
axis equal

然后在命令窗口中输入“axis equal”并注意绘图发生了变化。

于 2013-08-21T16:21:36.443 回答