[英]How to run a .m (matlab) file through java and matlab control?
我有2個.m文件。 一個是函數,另一個是(read.m)然后讀取函數並將結果導出到excel文件中。 我有一個Java程序,可以對.m文件進行一些更改。 更改后,我想自動執行/運行.m文件。 我已經下載了matlabcontrol.jar,我正在尋找一種方法來使用它來調用和運行read.m文件,然后再讀取該函數。 誰能幫我提供代碼? 謝謝
我已經嘗試過此代碼,但是它不起作用。
public static void tomatlab() throws MatlabConnectionException, MatlabInvocationException {
MatlabProxyFactoryOptions options =
new MatlabProxyFactoryOptions.Builder()
.setUsePreviouslyControlledSession(true)
.build();
MatlabProxyFactory factory = new MatlabProxyFactory(options);
MatlabProxy proxy = factory.getProxy();
proxy.eval("addpath('C:\\path_to_read.m')");
proxy.feval("read");
proxy.eval("rmpath('C:\\path_to_read.m')");
// close connection
proxy.disconnect();
}
基於項目Wiki中的官方教程 ,從此API開始似乎很簡單。
路徑操作可能有點棘手,但是我會嘗試將整個腳本加載到字符串中並將其傳遞給eval
( 請注意,我沒有使用此特定Matlab庫的經驗 )。 這可以很容易地完成Files.readAllLines()
例如,通過加入Files.readAllLines()
)。
希望能有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.