Java调用MATLAB的.m文件

来源:互联网 发布:禁毒网络知识竞赛网 编辑:程序博客网 时间:2024/05/01 14:22

0.系统以及程序版本

Win 7(64 bits)

MATLAB R2013a(64 bits)

MyEclipse 10(64 bits)

Java 7(64 bits)

1.环境配置

主要是Java的环境配置。在系统属性-高级系统设置-环境变量按如下设置:

1)配置JAVAHOME:
值:D:\Program Files\Java\jdk1.6.0_13
此处为javac.exe所在目录D:\Program Files\Java\jdk1.6.0_13\bin的上一层。
2)配置path:
值:.;%JAVAHOME%\bin;%JAVAHOME%\jre\bin;D:\Program Files\MATLAB\R2010a\bin
3)配置CLASSPATH:
值:.;%JAVAHOME%\lib;%JAVAHOME%\lib\tools.jar;D:\Program Files\MATLAB\R2010a\toolbox\javabuilder\jar\javabuilder.jar;%JAVAHOME%\lib\dt.jar;%JAVAHOME%\lib\tools.jar

[摘自http://www.zdh1909.com/html/matlab/15251.html]

2.利用MATLAB生成Jar包

例:

function [b]=test(a)
b=a*a;
end

在命令行中输入“deploytool”命令,打开“Deployment Project”对话框,


点击OK后,进入java package页面


生成成功后可以看到一个新的文件夹[注:如果使用java 8 可能出现错误导致不能成功生成]


在目录~\test\distrib下的test.jar即生成的Jar包。

3.将Jar包添加到MyEclipse工程中

将~\\MATLAB\R2013a\toolbox\javabuilder\jar中的javabuilder.jar和生成的jar包一同加入到工程中,并通过build path添加到Referenced libraries 中


4.现在就可以在java里使用MATLAB中的程序了

例程:

import test.*;


import com.mathworks.toolbox.javabuilder.MWException;


class MyTest {
public static void main(String[] args) {
try {
Class1 MyClass = new Class1();
Object ans[] = MyClass.test(1, 1);
System.out.println("ans=" + ans[0]);
} catch (MWException e) {
e.printStackTrace();
}
}
}


5.错误处理

1)检查MyEclipse的JDK是否为1.7

右键项目-Properties-java Compiler:


2)检查java build path中的JRE是否为1.7版本


0 0
原创粉丝点击