Linux 有没有办法在不启动发动机的情况下获得MATLAB版本?
有没有办法在不启动引擎的情况下获得MATLAB版本?当启动时(在非GUI模式下),它会将版本打印到stout——但我从Java远程使用它,因此输出不可用 作为替代方案,是否有一种从MATLAB中获取版本的方法 我所说的“版本”最好是指双字符串编号,例如“7.13”,而不是版本号,例如“R2011b” 谢谢!Linux 有没有办法在不启动发动机的情况下获得MATLAB版本?,linux,matlab,Linux,Matlab,有没有办法在不启动引擎的情况下获得MATLAB版本?当启动时(在非GUI模式下),它会将版本打印到stout——但我从Java远程使用它,因此输出不可用 作为替代方案,是否有一种从MATLAB中获取版本的方法 我所说的“版本”最好是指双字符串编号,例如“7.13”,而不是版本号,例如“R2011b” 谢谢! 詹姆斯正如乔纳斯所说,版本命令是你的朋友。使用 v = version 以字符串形式获取数字版本(后跟“R-release”版本),如下所示: v = 7.12.0.39132 (R201
詹姆斯正如乔纳斯所说,
版本
命令是你的朋友。使用
v = version
以字符串形式获取数字版本(后跟“R-release”版本),如下所示:
v =
7.12.0.39132 (R2011a)
然后,您应该能够解析字符串,以仅获取开始的数字部分
有关版本,请参阅MathWorks文档
了解更多信息
额外的提示;如果您正在寻找版本号以确保安装的MATLAB不早于(某个特定的版本号),请查看VERLESSTHAN的文档,它可能会帮助您解决问题,而无需自己解析字符串 我不知道以下内容是否适用于所有版本,但请尝试运行:
matlab -help
这将显示命令行的使用情况,有趣的是,最后它将打印版本(在此过程中不会启动MATLAB):
matlab[-?^ |-h^ |-help]
[-c许可证文件]
[-nosplash]
[-nodesktop^ |-nojvm]
-shieldload-仅限Win32:(实验性)加载中标识的DLL
逗号分隔列表
版本:7.13.0564
您可以很容易地从该输出中获得版本号(
grep
是您的朋友)为什么不能从Java代码中使用MATLAB命令?如何远程运行MATLAB?你不能重定向stdout和stderr并使用它们吗?@JonasHeidelberg,因为我不想启动引擎,正如我在问题中所说的那样。@jgubby:我显然是在解决你的第二个问题,而不是第一个问题…@JonasHeidelberg哦,是的。。。哦,够近了,谢谢。遗憾的是,这个$$$软件的创建者没有像世界上所有其他软件一样,从CL标志中获得版本号……@jgubby这如何解决您在不运行引擎的情况下获取版本的问题?要执行version
,您必须已经运行了它。在命令行上运行matlab时,您还可以从标题中获取版本号:matlab-r quit | grep version
@stardt我只是认为这是最接近正确答案的,因为似乎没有其他方法。这是一个狡猾的伎俩-除了R2011有不同的格式,而且似乎没有打印以该字符串作为前缀的版本。可能太脆弱了,因为我会忘记我已经100%确定地完成了那次黑客攻击…matlab-r quit-nojvm | grep“R201[0-9][ab]”
这似乎在2014a的Linux和2017aMatlab 2014和2015的Mac OS X上都可以找到,但如果发布版本是matlab路径的一部分,它将在matlab-n
中结束。
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