利用MATLAB写好相应的计算函数,然后打包成jar包供Java调用,或者JAVA调用MatLab展现一些二维三维图,可有效发挥MatLab的优势。
一:注意事项
1: MatLab的版本必须是2006b+(包括2006b或更高版本),因为只有在这些版本中才有MATLAB Builder for Java(也叫Java Builder)。
2: 运行机器上必须装有JRE 并且版本要和MatLab自带的jre 大版本保持一致(位数也要保持一致)
可用:version -java 查看Matlab的JDK版本号
目前主要是jdk 1.7和1.8
MATLAB R2016a、R2016b 使用 JDK 1.7
MATLAB R2017a - R2024a,使用 Java 1.8
二:示例算法
function [volume,area] = mysphere(height,width, depth)
volume = height*width*depth;
area = height*width;
三:导出jar
我用的jdk1.8,matlab2018a
1、命令行窗口输入deploytool——选择Library Compiler ;
2、选择Java package;添加.m文件;填写打包信息
第5步两个选项,选第一个时打包体积小,但需要运行的机器上有Matlab Runtime; 选第2个打的包中包涵Runtime依赖,体积大,但随处可执行。
3、将打包后的mysphere.jar 和 javabuilder.jar引入项目
四、程序调用函数
public static void main(String[] args) {
Mysphere mysphere = null;
try {
mysphere = new Mysphere();
Object[] objects = mysphere.mysphere(2, 2,3,4);
for (Object obj : objects ) {
System.out.println(obj);
}
} catch (MWException e) {
throw new RuntimeException(e);
} finally {
if (mysphere != null) {
mysphere.dispose();
}
}
}