目录

java与matlab混合编程

目录

java与matlab混合编程

1、检测你安装的MATLAB与的安装的JAVA环境是否兼容

MATLAB Builder For MATLAB的环境配置主要包含以下几个内容:

想了解您的MATLAB软件兼容的Java环境(包括Java Developer’s Kit (JDK) 和Java Run-time Environment (JRE)),请查看

一、检查您的Java环境

也许您的计算机上已经正确安装了Java环境,现在我们就要确定下这个Java是不是和我们当前的MATLAB Builder For Java版本相兼容:

1、打开Window命令行CMD.exe。

http://attach.matlabsky.com/data/attachment/forum/201105/30/164037kil6ddi66nsq6802.jpg.thumb.jpg
cmd.jpg

2、在CMD.exe中输入

  1. java -version

复制代码

,如果正确安装了Java,将返回如下类似信息:

java version “1.6.0_25”

Java(TM) SE Runtime Environment (build 1.6.0_25-b06)

Java HotSpot(TM) Client VM (build 20.0-b11, mixed mode, sharing)

如果返回如下内容,则说明您没有安装Java哦:

‘java -version’ 不是内部或外部命令,也不是可运行的程序或批处理文件。

3、在CMD.exe中继续输入

  1. javac -version

复制代码

注意:如果您没有在path环境变量中添加Javac的安装路径,此时您应该如下输入:

  1. %JAVA_HOME%\bin\javac -version

复制代码

其中%JAVA_HOME%为Java的安装根目录,如果您已经设置用户环境变量JAVA_HOME为JDK的路径,则可以直接使用%JAVA_HOME%,否必须自己手动将%JAVA_HOME%修改为JDK安装路径。

如果javac已经正确安装,MATLAB将返回如下信息:

javac 1.6.0_25

4、上面仅仅获取了JDK的版本,那到底是不是和我们MATLAB兼容呢?在您的Command Window中输入

  1. version -java

  2. ans =
  3. Java 1.6.0_17-b04 with Sun Microsystems Inc. Java HotSpot(TM) Client VM mixed mode

复制代码

从上面的信息中,知道我当前使用的MATLAB 2011a兼容Java 1.6.0_17,可是我的计算机上安装的JDK是1.6.0_25,是不是不兼容呀,呵呵,这点版本区别是没有问题的。

二、配置Java使用环境

要是很不幸,您的计算机上没有安装Java,那怎么办呢?好,下面我们就讲解下如何正确配置一个Java环境哦。

1、从Sun Micorsystems官方主页

与您当前MATLAB软件相兼容的Java Developer’s Kit (JDK) !什么呀,不知道您的MATLAB兼容哪个JDK,哦,那就到

看看吧!或者在您的Command Window中输入

  1. version -java

  2. ans =
  3. Java 1.6.0_17-b04 with Sun Microsystems Inc. Java HotSpot(TM) Client VM mixed mode

复制代码

从上面的信息中,知道我当前使用的MATLAB 2011a兼容Java 1.6.0_17,为了体验最新版的JDK于是我下载jdk-6u25-windows-i586.exe(SE表示标准版,6 Update 25是JDK的版本编号,表示1.6.0_25),而不是那个Java 1.6.0_17。

http://attach.matlabsky.com/data/attachment/forum/201105/30/160135kjjdmdvdkj3qbh03.jpg.thumb.jpg
jdk.jpg

http://attach.matlabsky.com/data/attachment/forum/201105/30/1604330jvx6f3xcdrsdwzf.jpg.thumb.jpg
jdk2.jpg

是不是还想了解下什么是JDK和JRE呀,它有什么区别呢?那我就直接应用官方的原话了:

The JDK is a collection of Java classes, run-time environment, compiler, debugger, and usually source code, for a version of Java. The contents of the JDK collectively make up a Java development environment.

The JDK includes the Java Runtime Environment (JRE), a collection of compiled classes that makes up the Java virtual machine, a standalone executor of the Java language, on a specific platform.

2、安装刚刚下载的jdk-6u25-windows-i586.exe,我的安装目录是D:\Program\Java\jdk1.6.0_25。

3、添加JAVA_HOME用户环境变量,这个环境变量用于在MATLAB中告诉Java,JDK的安装在什么地方。Window系统添加环境变量(Unix平台就不介绍了)步骤为:

3.1 右击我的电脑选择属性

3.2 切换到高级选项卡

3.3 点击环境变量按钮

http://attach.matlabsky.com/data/attachment/forum/201105/30/162229t2r9v22a2kva4akm.jpg.thumb.jpg
hjbl.jpg

3.4 在用户变量区域,点击新建按钮:

变量名:JAVA_HOME

变量值:D:\Program\Java\jdk1.6.0_25(就是刚才JDK的安装路径)

http://attach.matlabsky.com/data/attachment/forum/201105/30/162229n32xdpr3x43xxuun.jpg.thumb.jpg
hjbl2.jpg

3.5 然后一路点击确定按钮返回即可。

4、检验MATLAB是否能够正确读取环境变量JAVA_HOME的值。重启MATLAB,并在Command Window中输入getenv JAVA_HOME,如果正确返回JDK的安装路径,那证明环境变量设置成功。

  1. getenv JAVA_HOME

  2. ans =
  3. D:\Program\Java\jdk1.6.0_25

复制代码

5、此时MATLAB Builder For Java环境配置完毕,试试想赶紧试一试呀。那不妨看看这个帖子

2、实例讲解

***本节教程主要提供一个简单的Matlab Builder For Java的演示实例,在学习这个教程前,

请先配置好您的Matlab Builder For Java运行环境

,具体可以参考

本次我们将一个AboutUs.m的M文件编译成Java的类,并在Java环境中测试运行。AboutUs.m文件就是

在Command Window中显示出“ 技术论坛”的介绍信息

。***

  1. function AboutUs
  2. % By LaterComer of MATLAB技术论坛
  3. % See also
  4. % Contact me
  5. % Modifid at 2011-05-31 11:38:26
  6. %
  7. clc
  8. info=char(…
  9. ‘MATLAB技术论坛 | 仿真论坛 | MATLAB函数百科 | 最优秀专业和权威的MATLAB技术交流平台!’,…
  10. ’ ‘,…
  11. ‘官方网址: net/cn/org’,…
  12. ‘服务邮箱:matlabsky@gmail.com’,…
  13. ‘在线客服:1341692017’,…
  14. ’ ‘,…
  15. MATLAB技术论坛(Simulink仿真论坛)由西北工业大学航空学院dynamic同学于2008年09月14日创建,’,…
  16. ‘并在2010.08.01对论坛管理结构进行扩充和重组,新加入6名(yaksa,matsuper,yangzijiang,’,…
  17. ‘faruto,rocwoods,xiezhh)MATLAB高级爱好者!’,…
  18. ’ ‘,…
  19. ‘MATLAB技术论坛是目前国内优秀、专业和权威的MATLAB技术学习和交流平台!’,…
  20. ‘致力为网友提供丰富的MATLAB教学资源、强大的MATLAB技术支持和全面的MATLAB有偿服务!’,…
  21. ’ ‘,…
  22. ‘网站涵盖MATLAB 教学,MATLAB 安装,MATLAB经典教程,Simulink仿真科技,’,…
  23. ‘MATLAB函数速查,MATLAB汉化包,MATLAB电子 ,MATLAB读书频道,GUI界面开发,’,…
  24. ‘统计概率,拟合优化,混合编程,GPU高性能计算,神经网络,遗传算法,控制系统,’,…
  25. ‘图像处理,经济金融,信号通信,医药生物,数学建模,电子电力,汽车设计等几十个方面!’);
  26. disp(info);

复制代码

在演示之前,引用官方文字解释下两个名词:

What Is a MATLAB Builder JA Project?

To use the MATLAB Builder JA product, you create a project, which specifies the MATLAB code to be used in the components that you want to create. This product supports data conversion between Java types and MATLAB types. For more about projects and their contents, see Anatomy of a MATLAB Builder JA Project.

What Is a MATLAB Builder JA Component?

A component created by the MATLAB Builder JA product is a standalone Java package (.jar file). The package contains one or more Java classes that encapsulate MATLAB code. The classes provide methods that are callable directly from Java code.

一、生成Java组件

1、启动MATLAB,将上面的AboutUs.m保存到MATLAB的当前目录下,比如D:\Documents\MATLAB\JavaBuilder\AboutUSExample。

2、在Command Window中输入deploytool,打开发布工具。并填写或修改工程名称为AboutUsPrj,保存路径为D:\Documents\MATLAB\JavaBuilder\AboutUSExample,类型选择Java Pakage,并点击确定按钮。

http://attach.matlabsky.com/data/attachment/forum/201105/31/133652qffv2555q6qfzd2e.jpg.thumb.jpg
JavaBuilder1.jpg

3、此时打开Java Package窗口,点击工具栏最后的“Action”按钮,并选择“Setting…”,将Package Name修改为AboutUsPck(默认情况,Package Name为工程名)。当然这个我们没有必要一定要修改,根据个人习惯哦。

http://attach.matlabsky.com/data/attachment/forum/201105/31/1337209sddmgywg7ygm0sx.jpg.thumb.jpg
JavaBuilder12.jpg

4、切换到“build”选项卡。在“Classes”栏,点击Add class为程序添加Java类,将类名Class1修改为AboutUsCls,如果要删除或者重命名Java类,可以右击类名进行操作。

http://attach.matlabsky.com/data/attachment/forum/201105/31/133653z63b5j5644jj5zq2.jpg
JavaBuilder3.jpg

然后点击Add files,选择AboutUs.m文件,作为类的方法(method,说白了就是我们需要运行的M文件)。

http://attach.matlabsky.com/data/attachment/forum/201105/31/133653qw4ppwnywsn2gqmb.jpg.thumb.jpg
JavaBuilder2.jpg