[英]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.