• 使用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 FilesJavajdk1.6.0_24。

    设置环境变量:

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

    Path中加入路径%JAVA_HOME%in;%JAVA_HOME%injavac;

    ClassPath中加入路径%JAVA_HOME%libdt.jar; %JAVA_HOME%lib ools.jar

    2 Matlab代码编译成Java包:

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

    >> getenv JAVE_HOME

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

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

    输入以下内容:

    function [ out ] = funTest( a, b )
        out = a + b ;
    end

    Command Window中输入:

    >> deploytool

     

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

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

     找到与工程同名的文件夹对应文件”distribFunTest.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 FilesMATLABR2013a oolboxcompilerdeploywin64下面的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.1jarscloudsim-2.1.1.jar; C:cloudsim-2.1.1jarscloudsim-examples-2.1.1.jar

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

  • 相关阅读:
    字典树模板
    hdu 1013 Digital Roots(数论 模拟)
    linux shell输出带颜色文本
    homebrew update 出现Failure while executing: git pull --quiet origin refs/heads/master:refs/remotes/origin/master解决方案
    macosx 10.11 python pip install 出现错误OSError: [Errno 1] Operation not permitted:
    Leetcode Palindrome Linked List
    Leetcode Delete Node in a Linked List
    Leetcode Valid Anagram
    Leetcode Kth Smallest Element in a BST
    Leetcode Power of Two
  • 原文地址:https://www.cnblogs.com/lomper/p/3972493.html
Copyright © 2020-2023  润新知