使用ecilpse(Java)调用Matlab代码

1 安装java环境:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

下载JDK最新版本并安装,CloudSim需要运行在jdk1.6以上版本。

以jdk1.6.0_24为例,默认的安装目录为C:\Program Files\Java\jdk1.6.0_24。

设置环境变量:

新建系统变量JAVA_HOME,变量值设为JDK安装目录,即C:\Program Files\Java\jdk1.6.0_24

Path中加入路径%JAVA_HOME%\bin;%JAVA_HOME%\bin\javac;

ClassPath中加入路径%JAVA_HOME%\lib\dt.jar; %JAVA_HOME%\lib\tools.jar

2 Matlab代码编译成Java包:

在matlab中输入命令查看是否能够访问到Java配置:

>> getenv JAVE_HOME

 

配置成功会返回自己配置的jdk路径,如果配置路径过程中,matlab已经打开,请重启。

使用ecilpse(Java)调用Matlab代码

新建一个函数文件funTest.m(必须是函数文件:New File->Function!文件中只能有函数,不能有独立脚本)

输入以下内容:

function [ out ] = funTest( a, b )

    out = a + b ;

end

Command Window中输入:

>> deploytool

 使用ecilpse(Java)调用Matlab代码

(这里有更改,Test.prj更改为FunTest.prj)

使用ecilpse(Java)调用Matlab代码使用ecilpse(Java)调用Matlab代码

(这里有更改,类名CTest更改为CFunTest)

使用ecilpse(Java)调用Matlab代码使用ecilpse(Java)调用Matlab代码

 找到与工程同名的文件夹对应文件”distrib\FunTest.jar“这个文件就是生成的Java包。(FunTest路径最好不要太深!否则会报错。)

 

3 使用64/32位MatLab+64/32位的Jre:

(切记,要保持一致。不然会调用错误,也可使用同是32位的,这里以64位为例)

32/64位Jre下载:http://www.java.com/zh_CN/download/manual.jsp

下载后安装。

4 使用ecilpse调用Matlab生成的Java包。

找到Matlab安装路径,我这里是D:\Program Files\MATLAB\R2013a\toolbox\compiler\deploy\win64下面的MCRInstaller.exe文件。进行安装。

新建一个Java工程,插入以下代码:

 

package Test;



import com.mathworks.toolbox.javabuilder.*;

import FunTest.*;



public class myFunTest {

    /**

     * @param args

     * @throws MWException 

     */

    public static void main(String[] args) throws MWException {

        // TODO Auto-generated method stub

        CFunTest cp=new CFunTest();

        Object bn[]=null;

        MWNumericArray a = null;

        MWNumericArray b = null;

        a=new MWNumericArray(Double.valueOf(5), MWClassID.DOUBLE);

        b=new MWNumericArray(Double.valueOf(5), MWClassID.DOUBLE);

        bn=cp.funTest(1,a,b);  //第一个参数 1 指函数返回的变量的个数

        System.out.println( bn[0]);

    }

}

 

运行后输出结果:10

调用成功!

CloudSim安装和配置

http://www.cloudbus.org/cloudsim/下载CloudSim,以CloudSim2.1.1为例。将其解压到磁盘,例如C:\cloudsim-2.1.1。

设置环境变量:

ClassPath中加入路径C:\cloudsim-2.1.1\jars\cloudsim-2.1.1.jar; C:\cloudsim-2.1.1\jars\cloudsim-examples-2.1.1.jar

此时,可以用同样的方法在CloudSim中对Matlab代码进行调用。

 

你可能感兴趣的:(matlab)