有没有一种方法可以在不启动引擎的情况下获得MATLAB版本?启动时(在非GUI模式下)将版本打印为stout - 但我从Java远程使用它,因此输出不可用。有没有办法在不启动引擎的情况下获得MATLAB版本?
作为一种替代方法,有没有一种方法从MATLAB内部获取版本? '版本'我的意思是双字符串数字,例如“7.13”,而不是发布号码,例如“R2011b”。
谢谢! James
有没有一种方法可以在不启动引擎的情况下获得MATLAB版本?启动时(在非GUI模式下)将版本打印为stout - 但我从Java远程使用它,因此输出不可用。有没有办法在不启动引擎的情况下获得MATLAB版本?
作为一种替代方法,有没有一种方法从MATLAB内部获取版本? '版本'我的意思是双字符串数字,例如“7.13”,而不是发布号码,例如“R2011b”。
谢谢! James
正如乔纳斯所说,version
命令是你的朋友。使用
v = version
获得数字版(其次是“R-发布”版本)的字符串,如下所示:
v =
7.12.0.39132 (R2011a)
然后,你应该能够解析字符串得到只是开始的数字部分。
见版本的MathWorks的文件在
http://www.mathworks.com/help/techdoc/ref/version.html
以获取更多信息。
附加提示;如果您正在查找版本号以确保安装的MATLAB不超过(某些特定版本号),请查看VERLESSTHAN的文档,网址为http://www.mathworks.com/help/techdoc/ref/verlessthan.html它可以帮助您解决问题而不需要必须解析字符串你自己。
够了,谢谢。可惜这个$$$软件的创建者并没有想到可以从CL标志中获得版本号,就像世界上其他所有软件一样...... – gubby
@jgubby这是如何解决你获得版本的问题没有运行引擎?你必须已经运行它来执行'version'。在命令行上运行matlab时,您还可以从头文件获取版本号:'matlab -r quit | grep Version' – stardt
@stardt我只是认为这是最接近正确的答案,因为除此之外似乎没有任何其他方式。这是一个狡猾的伎俩 - 除了R2011具有不同的格式,并且似乎不打印该字符串作为前缀的版本。可能太脆弱了,因为我会忘记我已经完成了100%的确定性... – gubby
我不知道是否在所有版本的下列作品,但尝试运行:
matlab -help
这将显示在命令行中使用,并在有趣的结束,它打印版本(MATLAB未启动在这个过程中):
matlab [-? ^| -h ^| -help]
[-c licensefile]
[-nosplash]
[-nodesktop ^| -nojvm]
<...TRUNCATED...>
-shieldload <list> - Win32 only: (experimental) loads dlls identified in
comma separated list
Version: 7.13.0,564
您就可以轻松获得从输出的版本号(grep
是你的朋友)
在Linux上的Matlab 2014和2015似乎不打印它,但如果发行版本是Matlab路径,它将以'matlab -n'结尾。 – Paul
为什么你就不能使用MATLAB的['version'(HTTP:// WWW .mathwor ks.de/help/techdoc/ref/version.html)命令从你的Java代码中执行? –
你如何远程运行matlab?你不能重定向stdout和stderr并使用它们吗? – stardt
@JonasHeidelberg因为我不想启动引擎,就像我在问题中所说的那样。 – gubby