JAVA和MATLAB混合编程
具体步骤如下
- 确保matlab 的jdk与 电脑安装的jdk版本保持一致,jdk1.8,环境变量配置见 https://www.cnblogs.com/xch-yang/p/7629351.html;
2.将所用matlab 程序打成jar包 ,console中输入deploytool,选择编译成library
①选Javapackage
②选要打包的程序
③修改类名,(java编程时用到)
④打包
3.打包完成后 for_redistribution_files_only文件夹内找到jar包,将该jar包放入java项目中
buildpath后add external jars
试一下
matlab代码如下:
function sum = operation(a,b)
sum = a + b ;
end
java代码如下:
package test;
import java.net.URI;
import org.java_websocket.client.WebSocketClient;
import org.java_websocket.handshake.ServerHandshake;
import operation.Class1;
public class MatlabDuXie {
public static void main(String[] args) {
WebSocketClient mWs = null;
try {
String url = "ws://localhost:8080/Simulation/webSocketServer.do?is3D=1&dataType=0";
URI uri = new URI(url);
mWs = new WebSocketClient(uri){
@Override
public void onOpen(ServerHandshake serverHandshake) {
}
@Override
public void onMessage(String s) {
System.out.println(s);
}
@Override
public void onClose(int i, String s, boolean b) {
}
@Override
public void onError(Exception e) {
}
};
mWs.connect();
System.out.println("haha");
} catch (Exception e) {
e.printStackTrace();
}
System.out.println();
// mWs.send("\"key\":\"310-66cdea54b26111eca8244ccc6a84a13a\",\"value\":\"412bfd33983411eb9bb1544810f87b5d-dShuRuZhi-0-0\"");
System.out.println();
try {
Class1 c = new Class1();
Object [] a = c.operation(1,2,99);
System.out.println(a[0]);
System.out.println();
} catch (Exception e) {
// TODO: handle exception
}
}
}