是否可以通过编程方式检查MATLAB是否已使用“-nodisplay”选项启动?

63次浏览(最近30天)
我有一个程序,它需要根据MATLAB是否有显示而有不同的行为。但是,我无法确定以编程方式检查这个。
我需要这样做的原因是,为了测试我的程序,我有时会从shell脚本以批处理模式启动MATLAB。

接受的答案

MathWorks支金宝app持团队”class=
MathWorks支金宝app持团队 2013年10月18日
在MATLAB 7.6 (R2008a)中,不能以编程方式检查MATLAB是否有显示。
作为一种变通方法,你可以做以下其中之一:
1.在启动MATLAB的shell脚本中手动设置或取消设置一个环境变量,这样您就可以在MATLAB中查询它。例如,在启动MATLAB之前,在shell脚本中设置ISDISPLAY环境变量:
setenvISDISPLAY没有
matlab- r“foo;辞职
(这里用C Shell语法表示),表示MATLAB命令
采用“ISDISPLAY”)
将在任何MATLAB进程中返回字符串“no”,这些进程都是从这个shell派生出来的。
2.查询内部MATLAB根对象的“屏幕尺寸”属性:
get (0,“拉”)
当没有显示时,它将返回[11 11 1],而不是实际的屏幕大小。
注意,这只在R2014b之前的版本中有效。

0评论

登入置评。

更多的答案(2)

Macey保罗”class=
Macey保罗 2016年1月26日
你可以使用java:
usejava (“桌面”)
这将返回MATLAB的实例假开始与-nodisplay选项。我使用并行处理工具箱,其中,I称为在PARFOR循环,曾与一个MsgBox和uiwait错误检查的功能使用该用于子程序。

0评论

登入置评。


碧玉”class=
碧玉 2015年8月6日
get (0,“拉”)%在Matlab 2015a中不工作
在Matlab 2015a中,即使我使用-nodisplay选项调用Matlab,它也会给出正常的屏幕坐标。
相反,我找到了一个关于这个问题的很好的stackoverflow主题:
简介:
如果usejava (jvm的)& & ~特性(“ShowFigureWindows”)
使用基于文本的替代(输入)
其他的
%#使用GUI对话框(questdlg)
结束

0评论

登入置评。

登入来回答这个问题。

下载188bet金宝搏