您现在的位置是:首页 >

c语言所有函数都是外部函数 在Java程序中调用Matlab函数

火烧 2022-11-16 20:47:36 1044
在Java程序中调用Matla 函数 环境准备 机器上有Ecli e 和Matla a 机器的环境变量设置 ( )JAVA_HOME (JDK的安装位置 如C:Program File Javajdk

在Java程序中调用Matlab函数  

    环境准备        机器上有Eclipse 和Matlab a        机器的环境变量设置        ( )JAVA_HOME (JDK的安装位置 如C:Program FilesJavajdk )        设置后 重启matlab才能有效         用getenv JAVA_HOME在Matlab的命令窗口中试验 看看得到的返回值正确方可说明其对Matlab生效了         ( )Classpath        添加matlabInstallRoot toolboxjavabuilderjarjavabuilder jar        ( )Path        添加%JAVA_HOME%/bin/javac        将matlab的m文件生成为jar        在matlab的mand窗口输入deploytool 会在右侧弹出一个新窗口(Deployment Tool)         在Deployment Tool中 点击new按钮 选择Matlab Builder for Java与Java Package 新建一个工程名字 如flying prj         确保在Deployment Tool面板中的Generate Verbose Output被勾上了         将欲被java调用的m文件(如mydraw m 其中包括两个参数(x y))从Matlab整个界面的左侧工作目录面板 拖拽到Deployment Tool中的新建的类下面的class 文件夹下         点击build按钮 则会在matlab的当前目录下 生成以一个与工程同名的文件夹 如果build成功 会看到文件夹结构如下         Flying | distrib        | | flying jar        | | flying ctf        |        | src        | | flying        | | flyingclass java        | | flyingMCR java        | | classes        | | flying        | | flyingclass class        | | flyingMCR class        | build log        | flying ctf        | flying jar        | mccExcludedFiles log        | readme txt        编写java方法 准备调用刚刚生成好的flying jar中的Matlab函数        在java工程属性的BuildPath中添加两个jar包         matlabroottoolboxjavabuilderjarjavabuilder jar        TestDirectoryflying jar        编写函数示例如下        package test;        /**        * test for a Matlab Call        *        */        import mathworks toolbox javabuilder *;        import flying *;        public class testMatlabClass {        /**        * @param args        */

c语言所有函数都是外部函数 在Java程序中调用Matlab函数
        public static void main(String[] args) {        // TODO Auto generated method stub        try {        System out println( Begin )         flyingclass flyingDraw=new flyingclass()         System out println( Middle )         flyingDraw mydraw( )         System out println( Here )         }catch (Exception e){System out println(e) }        }        }        如果不能正常运行 可以考虑在 classpath 中 加入 flying jar 所在的位置         详  细        参见 matlab 的帮助文件        数据类型相关        Java 的数值型数组 可以直接作为输入参数传递到 m 文件上         如 mydraw(x y) 可以画x=[ ] y=[ ]这样的线图 Java调用该方法时候 如果传递的参数是整型或者实数型数组 则直接可成功 如java中         int[] a = new int[ ];        int[] b = new int[ ];        // 给 a b 赋值 …        // …        // 调用        flyingclass flyingDraw = new flyingclass()         flyingDraw mydraw(a b)         注意 a b 最好所有有索引的位置都有值 否则如果没有充分赋值曲线可能会最终折回( )点         Matlab程序( m文件)的修改        找到TestDirectoryflying jar所在的位置(因为按照上述步骤的话 m源文件就在该位置附近) 这个位置 从Eclipse的Package Explore可以用看到         直接修改欲改动的 m文件        打开Matlab 在Command输入Deploytool 在新打开的部署面板中 打开 该m文件所在的工程 如flying prj         选中相应工程下Class 文件夹下的 m文件 点击工具栏的Build按钮         则相应源文件被重新编译 如果按照前面步骤添加的jar包 则编译后新生成的jar包自动替换掉原有的jar 又由于这个jar的位置已经作为BuildPath告诉了java的相应工程 因此Java端不需要做任何调整即可正确调用到新修改了内容的matlab方法 lishixinzhi/Article/program/Java/hx/201311/26534  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码