Problems with MATLAB Engine API for Java
Mostrar comentarios más antiguos
I am trying to compile this piece of code:
import com.mathworks.engine.*;
public class javaEvalFunc {
public static void main(String[] args) throws Exception {
MatlabEngine eng = MatlabEngine.startMatlab();
eng.evalAsync("[X, Y] = meshgrid(-2:0.2:2);");
eng.evalAsync("Z = X .* exp(-X.^2 - Y.^2);");
Object[] Z = eng.getVariable("Z");
eng.close();
}
}
As you can see I need a reference to com.mathworks.engine.*;
matlabroot/extern/engines/java/jar/engine.jar
But in my computer I just have a folder called phyton in this path
matlabroot/extern/engines

Where can I find the .jar file that I need ?
I am using Eclipse IDE by the way. thanks.
3 comentarios
Chibing Gng
el 20 de Feb. de 2017
could you find a solution? I have the same problem. By the way, it is 2016b
manan lalit
el 2 de Mzo. de 2017
Editada: manan lalit
el 2 de Mzo. de 2017
I have the same issue. I used the code written by Manuel and ran it on Eclipse after adding the external Engine JAR file from MATLAB 2016b, and ran into the following error.
Exception in thread "main" java.lang.NoClassDefFoundError: com/mathworks/mvm/MvmTerminatedException
at application.Main.main(Main.java:7)
Caused by: java.lang.ClassNotFoundException: com.mathworks.mvm.MvmTerminatedException
Can anyone help or have suggestions about what else I could try?
Anushan Vasantharajah
el 2 de Mzo. de 2017
I also have the same problem. Any one know the answer? :( please guys give some idea to sole the problem.
Respuesta aceptada
Más respuestas (1)
Bo Li
el 15 de Mzo. de 2017
With a simple test "example.java" like this:
import com.mathworks.engine.*;
public class CNN
{
public static void main(String[] args) throws Exception{
MatlabEngine eng = MatlabEngine.startMatlab();
double[] a = {2.0 ,4.0, 6.0};
double[] roots = eng.feval("sqrt", a);
eng.close();
}
}
Following commands work for me:
C:\JavaEngine\src>javac -classpath <matlabroot>\\extern\\engines\\java\\jar\\engine.jar
example.java
C:\JavaEngine\src>set PATH=<matlabroot>\\bin\\win64;%PATH%
C:\JavaEngine\src>java -classpath .;<matlabroot>\\extern\\engines\\java\\jar\\engine.jar
example
Categorías
Más información sobre Call MATLAB from Java en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!