Java 使用matlabcontrol从netbeans调用matlab
请帮帮我!当我试图使用java中的matlabcontrol调用我的matlab函数时,它告诉我系统找不到指定的文件Java 使用matlabcontrol从netbeans调用matlab,java,matlab,matlab-deployment,Java,Matlab,Matlab Deployment,请帮帮我!当我试图使用java中的matlabcontrol调用我的matlab函数时,它告诉我系统找不到指定的文件 package matcontro; import matlabcontrol.*; public class HelloWorld { public static void main(String[] args) throws MatlabConnectionException, MatlabInvocationException {
package matcontro;
import matlabcontrol.*;
public class HelloWorld
{
public static void main(String[] args) throws MatlabConnectionException, MatlabInvocationException
{
// create proxy
MatlabProxyFactoryOptions options = new MatlabProxyFactoryOptions.Builder()
.setUsePreviouslyControlledSession(true)
.build();
MatlabProxyFactory factory = new MatlabProxyFactory(options);
MatlabProxy proxy = factory.getProxy();
// call builtin function
proxy.eval("disp('hello world')");
// call user-defined function (must be on the path)
proxy.eval("addpath('C:\\ Users\\HASENDE\\My Documents\\MATLAB')");
proxy.feval("myfunc");
proxy.eval("rmpath('C:\\ Users\\HASENDE\\My Documents\\MATLAB')");
// close connection
proxy.disconnect();
}
}
我得到的错误如下
运行:
线程“main”matlabcontrol.MatlabConnectionException中出现异常:无法启动MATLAB。命令:[matlab,-r,javaaddpath'C:\Users\HASENDE\Documents\NetBeansProjects\Java类路径库\matlabcontrol-4.0.0.jar';matlabcontrol.MatlabClassLoaderHelper.configureClassLoading();javarmpath'C:\Users\HASENDE\Documents\NetBeansProjects\Java类路径库\matlabcontrol-4.0.0.jar';matlabcontrol.MatlabConnector.connectFromMatlab('PROXY_RECEIVER_01caa56d-9ed7-4e39-a45b-345051024d49',2100);]
位于matlabcontrol.RemoteMatlabProxyFactory.createProcess(RemoteMatlabProxyFactory.java:305)的matlabcontrol.RemoteMatlabProxyFactory.requestProxy(RemoteMatlabProxyFactory.java:116)
位于matlabcontrol.RemoteMatlabProxyFactory.getProxy(RemoteMatlabProxyFactory.java:134)
位于matlabcontrol.MatlabProxyFactory.getProxy(MatlabProxyFactory.java:81)
位于matcontrolo.HelloWorld.main(HelloWorld.java:21)
原因:java.io.IOException:无法运行程序“matlab”:CreateProcess error=2,系统无法在matlabcontrol.RemoteMatlabProxyFactory.CreateProcess(RemoteMatlabProxyFactory.java:292)的java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)处找到指定的文件…4更多信息
原因:java.io.IOException:CreateProcess error=2,系统找不到指定的文件
在java.lang.ProcessImpl.create(本机方法)
位于java.lang.ProcessImpl.(ProcessImpl.java:188)
在java.lang.ProcessImpl.start(ProcessImpl.java:132)
在java.lang.ProcessBuilder.start(ProcessBuilder.java:1021)上还有5个
Java结果:1
生成成功(总时间:4秒)
Exception in thread "main" matlabcontrol.MatlabConnectionException: Could not launch MATLAB. Command: [matlab, -r, javaaddpath 'C:\Users\HASENDE\Documents\NetBeansProjects\Java Classpath Libraries\matlabcontrol-4.0.0.jar'; matlabcontrol.MatlabClassLoaderHelper.configureClassLoading(); javarmpath 'C:\Users\HASENDE\Documents\NetBeansProjects\Java Classpath Libraries\matlabcontrol-4.0.0.jar'; matlabcontrol.MatlabConnector.connectFromMatlab('PROXY_RECEIVER_01caa56d-9ed7-4e39-a45b-345051024d49', 2100);]
at matlabcontrol.RemoteMatlabProxyFactory.createProcess(RemoteMatlabProxyFactory.java:305) at matlabcontrol.RemoteMatlabProxyFactory.requestProxy(RemoteMatlabProxyFactory.java:116)
at matlabcontrol.RemoteMatlabProxyFactory.getProxy(RemoteMatlabProxyFactory.java:134)
at matlabcontrol.MatlabProxyFactory.getProxy(MatlabProxyFactory.java:81)
at matcontro.HelloWorld.main(HelloWorld.java:21)
Caused by: java.io.IOException: Cannot run program "matlab": CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) at matlabcontrol.RemoteMatlabProxyFactory.createProcess(RemoteMatlabProxyFactory.java:292) ... 4 more
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:188)
at java.lang.ProcessImpl.start(ProcessImpl.java:132)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1021) ... 5 more
Java Result: 1