Java与MATLAB交互:在Java中集成MATLAB程序

1、matlab项目的部署 -- 生成jar包

       保存matlab文件,生成.m文件

%画图 自定义函数drawplot 参数 x yfunction drawplot(x, y)plot(x, y); %%使用matlab函数plot()作图 grid on %网格显示 xlabel('X轴值') ylabel('Y轴值') title('Java调用MatLab作图例子')


       app --> library Compiler


       选择生成类型为java package ,添加.m文件,配置名称等信息生成


       生成包中带有jar文件



2、java项目配置

      修改环境变量,path添加matlab的dll文件路径。jdk的版本一定要和matlab匹配,否则执行会报  Failed to find the required library mclmcrrt9_4.dll on java.library.path 。

       jdk1.8兼容2018a版本的matlab


       注意:还需要配置的环境变量  JAVA_HOME -- jdk的安装路径,MATLAB_JAVA -- jre路径


       把matlab生成的jar包引入java项目


      引入固定的java调用matlab必备的jar包javabuilder


       执行调用程序:

import com.mathworks.toolbox.javabuilder.*;import drawplot.Class1;public class map {    public static void main(String[] args) {        // TODO Auto-generated method stub        MWNumericArray x = null; // 存放x值的数组        MWNumericArray y = null; // 存放y值的数组        Class1 thePlot = null; // plotter类的实例(在MatLab编译时,新建的类)        int n = 20; // 作图点数        try {            // 分配x、y的值            int[] dims = { 1, n };            x = MWNumericArray.newInstance(dims, MWClassID.DOUBLE,                    MWComplexity.REAL);            y = MWNumericArray.newInstance(dims, MWClassID.DOUBLE,                    MWComplexity.REAL);            // 定义 y = x^2            for (int i = 1; i <= n; i++) {                x.set(i, i);                y.set(i, i * i);            }            // 初始化plotter的对象            thePlot = new Class1();            // 作图            thePlot.drawplot(x, y);   //调用作图的matlab方法            thePlot.waitForFigures();        }        catch (Exception e) {            System.out.println("Exception: " + e.toString());        }        finally {            // 释放本地资源            MWArray.disposeArray(x);            MWArray.disposeArray(y);            if (thePlot != null)                thePlot.dispose();        }    }}


       执行结果:

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空