我正在尝试使用MatlabControl.java和以下代码:
public static void main(String[] args) {
MatlabControl mc = new MatlabControl();
mc.eval(new String("x=5"));
}
但它会引发以下异常:
Exception in thread "main" java.lang.UnsatisfiedLinkError: com.mathworks.jmi.NativeMatlab.PostMatlabRunnable(JZ)V
at com.mathworks.jmi.NativeMatlab.PostMatlabRunnable(Native Method)
at com.mathworks.jmi.NativeMatlab.postMatlabRunnable(NativeMatlab.java:521)
at com.mathworks.jmi.MatlabLooper.postMatlabRunnable(MatlabLooper.java:177)
at com.mathworks.jmi.Matlab.whenMatlabReady(Matlab.java:1609)
at matlabCon.MatlabControl.eval(MatlabControl.java:85)
at matlabCon.MatlabCon.main(MatlabCon.java:8)
我也在这里看到了这个问题:call MATLAB in Java via MatlabControl.java
并按照说明进行操作 - 但没有成功。 我已经添加了我需要的所有罐子。
任何人都可以帮助我吗?
感谢。
答案 0 :(得分:0)
错误意味着它无法加载相应的Matlab本机库。这可能是因为拥有一个32位的Matlab和一个64位的JVM(例如),或者可能是你的JVM没有设置路径/库指向你的Matlab安装(它在哪里加载本土图书馆来自)。检查有关如何相应地安装和配置Matlab的说明,并验证您是使用32位JVM进行32位Matlab,还是使用64位JVM进行64位Matlab。