您的位置:首页 > 编程语言 > MATLAB

matlab for java 的实例配置

2009-04-01 19:44 387 查看
 (根据matlab的帮助文件一步步操作,截图(这里看不见))

1.       检查Java环境
1)  打开运行窗口
2)  输入命令:java –version,查看java版本信息
3)  输入命令:javac –version,查看javac版本信息。如果在系统环境中,JDK路径不是设置在系统变量path中,而是设置在用户变量Java-home中,应加上相应路径,输入命令为:%JAVA_HOME%/bin/javac –version。
4)  以上检查完成后,就可以进行操作,否则重新配置java环境。
2.       实例:发布一个矩阵实例,将M-code编写的功能转换成java可用的组件。
1)  matlab中所做工作
(1)打开MATLAB  Builder  JA产品
启动matlab,在matlab的命令行窗口(以下所说命令,除非特指,均指在matlab的命令行窗口输入的命令)中输入命令:deploytool,打开java发布工具。检查matlab是否正确指向JDK的工作路径,输入命令:getenv JAVA_HOME,检查所指路径是否正确。
(2)拷贝实例文件
     拷贝%matlab%/toolbox/javabuilder/Examples/MagicSquareExample到matlab的工作空间,把文件名MagicSquareExample重命名为magic_square。
(3)测试要发布的M-file文件
     在matlab中导入在D:/javabuilder_examples/magic_square/MagicDemoComp 下的makesqr.m文件。为了确保能找到对应的文件,在matlab中要设置对应的工作搜索路径,在“file/setpath”设置工作搜索路径D:/javabuilder_examples/magic_square/MagicDemoComp,点击“save”。makesqr.m文件内容如下:
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);
  测试m文件是否正常运行,输入命令:makesqr(5),运行结果。
(4)创建Java组件
  a.创建新的发布项目。
点击发布工具箱的“新建”按钮。

在打开的窗口中,左边选择MATLAB Builder JA,右边选择Java Package。选择文件保存路径为D:/MyProgram/workspace/matlab/magic_square,输入文件名magicsquare,点击ok按钮。
 
b.重命名类名
MATLAB Builder JA 产品根据所建的项目名称自动给创建的类赋名,象目前创建后的项目magicsquare下的类,名称应为:magicsquareclass,重命名为magic。
 
c.确认发布工具面板上的选项Generate Verbose Output已被选择。
 
d.magicsquare项目中添加m-file文件。先选择当前目录至makesqr.m文件所在的路径,在右边文件显示窗口中拖动对应的文件至发布工具窗口,系统自动将该文件放至对应类中,点击保存按钮。
 
e.构建项目,创建初始的java包。
在发布工具面板上点击构建项目按钮 ,系统开始构建项目,其操作结果,警告等信息会显示在output窗口上。构建后系统会在项目路径下生成两个文件夹:src和distrib,src包含java源文件magic.class,distrib包含打包文件magicsquare.jar。构建路径及构建内容的选择可以在Deployment Project Settings dialog box设置。
 
(5)选择打包文件
点击发布工具面板上的settings按钮,打开设置页面。在左边窗口选择“Packaging”,右边窗口按表格指示操作,最后点击ok按钮。

要打包的文件
操作
MCR Installer
选中Include MCR.选项.
Auto-generated Javadoc documentation
在Additional Files窗口选择项目的/src/doc,点击Add按钮,添加到右边栏上。
readme.txt
在Additional Files窗口选择项目的/distrib的readme.txt,点击Add按钮,添加到右边栏上。
 
 
(6)运行打包程序。点击发布工具面板上的打包按钮,对项目进行打包。然后用压缩工具把distrib里的文件打包起来。
 
2)  java平台下所做工作
(1)       搜集所需的文件,包括:
a.MCR Installer
b.Javadoc documentation
c.readme.txt file
d.com.mathworks.toolbox.javabuilder (%matlab%/toolbox/javabuilder/jar/javabuilder.jar)
e. MATLAB Builder JA创建的magicsquare.jar
(2)       在java开发平台测试组件
新建一个java项目magic,在src目录下新建一个java程序Getmagic.java,实例文件/javabuilder_examples/magic_square/MagicDemoJavaApp中已经提供源代码。Getmagic.java的源代码见附录1。
在magic项目中导入所需的两个jar包,一个是之前用MATLAB Builder JA创建的magicsquare.jar,一个是javabuilder.jar,%matlab%/toolbox/javabuilder/jar/javabuilder.jar。
(3)       配置MyEclipse的运行环境。选择Getmagic.java程序,右键选择run-》open run dialog,左边选择Application/file,右边需要配置的选项卡有Main、Arguments、Enviroment。

Main选项卡:选择相应的程序,和main函数所在的类,点击apply按钮。
Arguments选项卡:在Program Arguments中输入参数,如本例输入:5,点击apply按钮。
Enviroment选项卡:设置matlab的动态链接库的路径, %matlab%/bin/win32。具体操作:选择Enviroment选项卡,点击new按钮,新建变量path,变量值为D:/MyProgram/matlab/bin/win32。点击Apply按钮应用。(此步骤可以在系统的环境变量中配置)
       设置好参数后,点击run按钮,即可运行程序。   
3)  用mcrroot替换matlabroot再次测试程序。执行好这一步后就可以直接使用mcr运行程序,即使没有安装matlab也可以使用。
(1)       安装mcr。运行之前Matlab的发布工具面板打包的可执行程序magicsquare_pkg.exe,解压出4个文件:_install.bat,magicsquare.jar,readme.txt,MCRInstaller.exe。运行MCRInstaller.exe,安装至指定目录,假设为D:/MyProgram/matlab/mrc/v78。
安装过程中可能会出现以下错误,点击ok按钮继续安装即可。
 
(2)       打开Enviroment编辑path变量,选择之前的path变量,点击Edit按钮。把path的Value值改:D:/MyProgram/matlab/mrc/v78/runtime/win32。
 
 
 
附件1.
/* getmagic.java
 * This file is used as an example for the MATLAB
 * Builder JA 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.
 */
public class Getmagic
{
   public static void main(String[] args)
   {
      MWNumericArray n = null;   /* Stores input value */
      Object[] result = null;    /* Stores the result */
      magic theMagic = null;     /* Stores magic class instance */
 
      try
      {
         /* If no input, exit */
         if (args.length == 0)
         {
            System.out.println("Error: must input a positive integer");
            return;
         }
 
         /* Convert and print input value*/
         n = new MWNumericArray(Double.valueOf(args[0]),MWClassID.DOUBLE);
 
         System.out.println("Magic square of order " + n.toString());
 
         /* Create new magic object */
         theMagic = new magic();
 
         /* Compute magic square and print result */
         result = theMagic.makesqr(1, n);
         System.out.println(result[0]);
      }
      catch (Exception e)
      {
         System.out.println("Exception: " + e.toString());
      }
 
      finally
      { /* Free native resources */
         MWArray.disposeArray(n);
         MWArray.disposeArray(result);
         if (theMagic != null)
            theMagic.dispose();
      }
   }
}
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息