How can I pass a variable's value from java to MATLAB's Workspace?

조회 수: 4 (최근 30일)
Al Mamun
Al Mamun 2017년 12월 14일
댓글: Al Mamun 2017년 12월 21일
Here is my Java Code. I want to pass the value of variable 'a' from java to MATLAB's Workspace. How can I do it?
public class Valuepass {
public static void main( String args[] )
{
int a=1;
System.out.println( a );
}
}

답변 (1개)

Kojiro Saito
Kojiro Saito 2017년 12월 19일
The following is procedures how to pass variable from Java to MATLAB workspace of current session.
(1) Copy MATLAB Engine jar file from $MATLAB_INSTALL\extern\engines\java\jar\engine.jar to your Java project. This will enable your java programs to import "com.mathworks.engine".
(2) Launch MATLAB and enable sharing to Java. In MATLAB Command Window, execute
matlab.engine.shareEngine
(3) Create a java file
Valuepass.java
import com.mathworks.engine.*;
public class Valuepass {
public static void main(String args[]) throws Exception {
String[] engines = MatlabEngine.findMatlab();
MatlabEngine eng = MatlabEngine.connectMatlab(engines[0]);
int a = 1;
// This will put Java variable "a" to current MATLAB workspace
eng.putVariable("a", a);
System.out.println( a );
eng.close();
}
}
(4) Build a Java file and Valuepass.jar will be created. Then, run Java,
java -jar Valuepass.jar
(5) You will find a is stored in current MATLAB workspace.
For more detail, please refer to the following documents.

카테고리

Help CenterFile Exchange에서 Call MATLAB from Java에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by