我在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
然后我必须手动运行它才能使它工作。
令人讨厌的是,除了这段代码之外我什么都不能重现它?这笔交易是什么?
答案 0 :(得分: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'并注意该图更改。