有沒有一種方法可以在不啓動引擎的情況下獲得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