如何通过java和matlab控件运行.m(matlab)文件?

时间:2014-06-24 09:17:26

标签: java matlab execution

我有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();

    }

1 个答案:

答案 0 :(得分:0)

基于the official tutorial in the Wiki of the project,从这个API开始看起来非常简单。

路径操作可能有点棘手,但我会尝试将整个脚本加载到一个字符串中并将其传递给eval请注意我之前没有这个特定的经验Matlab库)。这可以很容易地完成(例如加入Files.readAllLines())。

希望有所帮助。