实验室需要JAVA与Matlab的混合编译,已经配置好Eclipse,jdk1.8,matlab2020b
写了一个简单的matlab函数plus()作为测试:
//Matlab函数
function a=plus(b+c)
a=b+c;
end
打包成jar包,命名类名为jiafa。
创建新的项目TEST,package:testforplus test1.java。在Eclipse中导入javabuilder.jar和jiafa.jar。
JAVA代码如下:
//Java代码
package testforplus;
import plus.*;
import com.mathworks.toolbox.javabuilder.*;
public class test1 {
public static void main(String[] args) {
try {
jiafa jf=new jiafa();
int a=2;
int b=3;
Object[] c=jf.plus(a,b);
System.out.println(c[0]);
}
catch (MWException e) {
e.printStackTrace();
}
}
}
运行出错如下:
PostVMInit failed to initialize com.mathworks.mlwidgets.html.HTMLPrefs
错误使用 +
输出参数太多。
... Matlab M-code Stack Trace ...
com.mathworks.toolbox.javabu