【发布时间】:2014-08-11 20:44:25
【问题描述】:
我在 Unix 上的 Matlab 上远程运行一些代码,生成许多绘图。我不想在我的本地系统上弹出数百个数字。 (而且我怀疑窗口进程也会减慢我的代码的执行速度。)我读到将 DISPLAY 环境变量设置为 null 会限制这种行为,实际上,
$export DISPLAY=
$matlab14a -nodisplay -nosplash
>>X=1:10;
>>Y=X.^2;
>>plot(X,Y);
立即将光标返回到控制台并且不显示绘图。但是,然后我希望能够重新打开显示。我可以跑
>>setenv('DISPLAY',':1102') %Previous (correct) value of $DISPLAY
>>getenv('DISPLAY')
ans =
:1102
>>plot(X,Y);
但是,剧情仍然没有出现。我相信这是因为我的系统通过 qrsh 调度程序路由 matlab 实例,然后是另一个子 shell。所以当我改变我的 DISPLAY 变量时,我相信无论哪个 shell 都没有访问这个变量。我不知道这个过程的具体细节。
我的问题是,一旦我将 DISPLAY 变量更改为正确的值,如何让 Matlab 正确显示绘图?或者,是否有任何其他解决方案可以切换所有图/图形的显示?
【问题讨论】:
-
也许您可以使用 ('Visible','off') 选项绘制图形并稍后切换到可见?
-
@zinjaai 这绝对是一种可能性。但我希望有另一种方法可以做到这一点,因为绘图代码深埋在我的代码库中,我想避免更改它。