欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入 MATLAB的最新版本2006b中新添了一个产品-MATLAB Builder for Java。其实本来Matlab就有Java外部程序接口,不过原来的接口只能在.m文件中调用Java,而无法在Java程序中调用Matlab。 新的 Java Builder

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

MATLAB的最新版本2006b中新添了一个产品-MATLAB Builder for Java。其实本来Matlab就有Java外部程序接口,不过原来的接口只能在.m文件中调用Java,而无法在Java程序中调用Matlab。

新的 Java Builder为我们在Java程序中调用Matlab丰富的数值计算资源提供了极大的便利。

与MATLAB对其他程序的外部接口相比,我觉得Java接口在一下几个方面比较有特色:

(1)在.m文件中可以直接调用Java资源。例如可以调用JDK中的界面元素构建用户界面。

(2)可以利用Java在网络功能方面的优势,开发基于Web的应用程序。

1首先你需要一个版本的matlab至少2006版本,看看你的matlab安装文件夹下toolbox中有没有javabuilder这一 项,如果有go to 2, 没有可能是该toolbox没有安装把。推荐一个下载地址,matlab2008

http://www.jliae.edu.cn/ele/Soft/ShowSoft.asp?SoftID=60,很快,100k/s,用了4-5小时下完

2 配置java环境, 要装JDK(1.5版本以上,所有java程序的编译和运行都需要安装这个环境)。搞清楚JDK的安装的路径,比如我的是C:\Program Files\Java\jdk1.6.0_03,打开你的dos命令窗口,开始设置。

2.1键入set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_03

键入set PATH=%PATH%;C:\Program Files\Java\jdk1.6.0_03

2.2 检查配置是否成功

键入 java -version

应该有

java version "version_number"

Java(TM) 2 Runtime Environment, Standard Edition

(build version_number.build_number

Java HotSpot(TM) Client VM (build version_number.build_number, mixed mode)

键入javac -version

返回 javac version_number

2.3 最后在matlab的窗口键入 :getenv JAVA_HOME:,应该返回 JDK的路径

如果以上都没有问题,那么java环境配置就完成了

3    在matlab的command窗口,输入 deploytool。会在右侧弹出一个新窗口(Deployment Tool),也可以 new-〉deployment 选择跳出这个界面。以matlab自带的magicsquare的例子。

新建工程 magicsquare。建立一个m文件命名makesqr,内容见下面

function y = makesqr(x)

%MAKESQR Magic square of size x.

%   Y = MAKESQR(X) returns a magic square of size x.

%   This file is used as an example for the MATLAB

%   Builder for Java Language product.

%   Copyright 2001-2006 The MathWorks, Inc.

y = magic(x);

注意把这个工程和matlb文件都放在放在matalb的workplace文件夹下,不然会出错。在工程中添加这个matlab,开始编译,得到两个文件夹,找到distrib子文件夹,找到magicsquare.jar文件,到matlab的toolbox找到javabuilder,jar,copy出来这两个jar文件,前一个就是由matlab代码转化得到的java代码,后一个要调用接口。新建个文件夹,新建一个java程序getmagic.java调用matlab转化的类,如下。把两个jar复制到这个文件夹,然后解压,得到两个文件夹,一个层次 com\mathworks\toolbox\javabuilder\,对应 import com.mathworks.toolbox.javabuilder.*;另一个和magicsquare\*对应,

/* getmagic.java

* This file is used as an example for the MATLAB

* Builder for Java Language product.

*

* Copyright 2001-2006 The MathWorks, Inc.

*/

/* Necessary package imports */

import com.mathworks.toolbox.javabuilder.*;

import magicsquare.*;

/*

* getmagic class computes a magic square of order N. The

* positive integer N is passed on the command line.

*/

[1] [2]