Matlab调用Java代码,这个比较简单,步骤如下:
1. 创建一个JAVA项目叫matlab_test
2. 创建Test类,com.test.MatlabTest.java
3. 导出项目为matlab_test.jar
4. 找到以下classpath文件:$matlab_home/toolbox/local/classpath.txt
5. 在文件里添加之前导出的jar路径:$jar_location/matlab_test.jar
6. 创建matlab文件java_test.m
[b]注:[/b]
$matlab_home是指mablat安装目录。
$jar_location是指目标jar的地理路径,如桌面等。
简单到没朋友。
[b]可能的错误:[/b]
java.lang.UnsupportedClassVersionError: com/test/MatlabTest : Unsupported major.minor version 52.0
若遇到以上错误,意思是说程序在编译的时候用了一个较高版本的JDK,但是在程序运行的时候用了一个较低版本的JDK。
51代表jdk7.
52 代表jkd8.
确实我在编译的时候用了JDK8,我换成JKD6后就没有这个错误了。
1. 创建一个JAVA项目叫matlab_test
2. 创建Test类,com.test.MatlabTest.java
package com.test;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MatlabTest {
public String getDate() {
DateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sf.format(new Date());
}
}
3. 导出项目为matlab_test.jar
4. 找到以下classpath文件:$matlab_home/toolbox/local/classpath.txt
5. 在文件里添加之前导出的jar路径:$jar_location/matlab_test.jar
6. 创建matlab文件java_test.m
function java_test()
import com.test.MatlabTest;
test = MatlabTest;
test.getDate()
end
运行结果:
>> java_test
ans =
2016-11-07 22:24:28
[b]注:[/b]
$matlab_home是指mablat安装目录。
$jar_location是指目标jar的地理路径,如桌面等。
简单到没朋友。
[b]可能的错误:[/b]
java.lang.UnsupportedClassVersionError: com/test/MatlabTest : Unsupported major.minor version 52.0
若遇到以上错误,意思是说程序在编译的时候用了一个较高版本的JDK,但是在程序运行的时候用了一个较低版本的JDK。
51代表jdk7.
52 代表jkd8.
确实我在编译的时候用了JDK8,我换成JKD6后就没有这个错误了。