我在Unix上的Matlab上远程运行一些代码,生成许多图.我不希望在我的本地系统上弹出数百个数字.(我怀疑窗口化过程也会减慢代码的执行速度.)我读到将DISPLAY环境变量设置为null会限制此行为,事实上,
$export DISPLAY=
$matlab14a -nodisplay -nosplash
>>X=1:10;
>>Y=X.^2;
>>plot(X,Y);
Run Code Online (Sandbox Code Playgroud)
立即将光标返回到控制台,不显示绘图.但是,我希望能够重新切换显示.我可以跑
>>setenv('DISPLAY',':1102') %Previous (correct) value of $DISPLAY
>>getenv('DISPLAY')
ans =
:1102
>>plot(X,Y);
Run Code Online (Sandbox Code Playgroud)
但是,情节仍然没有出现.我相信这是因为我的系统通过qrsh调度程序然后另一个子shell路由matlab实例.因此,当我更改我的DISPLAY变量时,我相信无论哪个shell都没有访问此变量.我不知道这个过程的具体细节.
我的问题是,一旦我将DISPLAY变量更改为正确的值,我怎样才能让Matlab正确显示图?或者,是否还有其他解决方案可以切换所有绘图/图形的显示?