我需要能够在不与命令窗口交互的情况下更改MATLAB中的工作目录。我正在从Java应用程序启动MATLAB。现在,我提出的唯一解决方案是关闭MATLAB,从JAVA更改目录并重新启动。是否有一些简化的方法从JAVA发送MATLAB'cd'命令?从命令行执行此操作也可以,因为我可以使用getRuntime()。exec(command)
谢谢!
答案 0 :(得分:3)
如果您使用与Matlab相同的JVM(如果没有,那么我不知道),您可以使用JMI执行此操作。没有太多关于此的在线信息(它是 WAY 未记录/不支持)。谷歌或阅读:http://www.cs.virginia.edu/~whitehouse/matlab/JavaMatlab.html。简而言之,您需要包含Matlab的相关JAR文件,然后使用com.mathworks.jmi.Matlab的功能。例如:
Matlab.evalConsoleOutput("cd('C:\Program Files\')");
Yair Altman http://UndocumentedMatlab.com
答案 1 :(得分:2)
我正在与发布原始问题的Stephen Poletto合作。没有任何现有的解决方案满足我们的需求,因此我们根据Yair提到的Kamin Whitehouse的工作编写了我们自己的解决方案。所有人都可以在matlabcontrol.googlecode.com上使用
它允许从在MATLAB外部启动的Java程序控制MATLAB。