本文主要解决了java项目中调用matlab程序过程中遇到的问题,下文主要分matlab的jar包部署以及java项目配置两个方面来分析。

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 stubMWNumericArray 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^2for (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();}}
}

执行结果:

java和matlab的交互实践--在java项目中调用matlab程序相关推荐

  1. 网页中调用matlab,在C#的Web项目中调用Matlab代码的步骤

    在C#的Web项目中调用Matlab代码的方法 为了毕设的图形检索方向的研究,本人需要在信科的师兄师姐们已经完成的C#界面中,调用现在研究的算法的Matlab代码,以便看到实验的效果.前段时间已经拖延 ...

  2. C/C++ VS中调用matlab函数的方法

    C/C++ VS中调用matlab函数的方法 [尊重原创,转载请注明出处] http://blog.csdn.net/guyuealian/article/details/73743654 Matla ...

  3. java中调用matlab程序及相关问题

    **在java中调用matlab程序,首先要将matlab程序打包成jar文件,才可以被java程序所调用. 打包时本人所用的各种工具: 1:myeclipse-bule 2:java-1.7 3:m ...

  4. Mac笔记本中是用Idea开发工具在Java项目中调用python脚本遇到的环境变量问题解决...

    问题描述: mac笔记本本身会自带几个python版本,比如python2.7版本,我没有改动mac默认的python版本,只是安装了python3.7版本. 使用Pycharm开发Python项目没 ...

  5. java批量处理数据库语句_Java项目中调用bat批处理进行多用户数据库备份

    Java项目中调用bat批处理配合使用BCP进行多用户数据的备份 一.项目需求 最近项目中需要对数据库(Sql Server系列数据库)进行备份.项目中的需求不是简单的整个数据库的备份,而是根据用户来 ...

  6. 【SpringBoot 中调用 Matlab】

    java springBoot 中调用 Matlab软件 进行 二维矩阵计算 matlabcontrol_秋月丹青的博客-CSDN博客

  7. m 文件 dll matlab 中调用_如何在matlab中调用python程序

    现在python很火,很多代码都是python写的,如果你和我一样,习惯了使用matlab,还想在matlab中调用Python的代码,应该怎么办呢?其中一条思路:首先在matlab中调用系统脚本命令 ...

  8. php调用python绘图程序_如何在matlab中调用python程序

    现在python很火,很多代码都是python写的,如果你和我一样,习惯了使用matlab,还想在matlab中调用Python的代码,应该怎么办呢?其中一条思路:首先在matlab中调用系统脚本命令 ...

  9. python调用simulink_[Python-MATLAB] 在Python中调用MATLAB的API

    可以参考官方的说明文档: MATLAB Engine API的使用文档: 原材料: 1.MATLAB 2015a  32位的 2.Python 2.7.13    32位的 安装: 1.运行cmd,切 ...

最新文章

  1. Scott的ASP.net MVC框架系列文章之四:处理表单数据(2)
  2. 在windows环境下基于sublime text3的node.js开发环境搭建
  3. svn的一些相关资料
  4. 计算机网络中st是什么,计算机组成中ST 是指什么
  5. 关于IIS 7.0 局域网无法访问的解决方法 windows7 iis局域网不能访问
  6. Java - 基本语法
  7. 为女儿示范的两张石膏像素描
  8. Spring DI依赖注入方式
  9. Apollo OpenDRIVE和ASAM OpenDRIVE的区别
  10. FileRecv VNCViewer 使用方法
  11. linux 123端口,关闭123端口和1900端口的方法
  12. 组件化-创建私有组件库库
  13. 【按键精灵学习记录】以DOTA2人机为例
  14. linux qt kits叹号,windows系统,HBuilderX无法启动、点击无反应、或启动报错的解决方案...
  15. Object和Objects
  16. linux究竟有何优势?为何大多数程序员会选择linux?
  17. 史上最全国家统计局划分代码爬取
  18. 使用 Vue3 重构 Vue2 项目(长文)
  19. 通用PE工具箱1.8.1安装图解
  20. python第五章课后编程题答案_Python核心编程-第五章课后习题

热门文章

  1. 二十分钟构建猫VS狗图像分类器
  2. 线下地推活动方案 推广活动策划方案范文 地推方案模板 地推策划方案
  3. msf注入payload
  4. chrome浏览器https证书不安全页面打开设置
  5. Gradients without Backpropagation论文概要
  6. vscode默认设置
  7. 缺省的servlet
  8. oracle bug 203,ORACLE Bug 4431215 引发的血案—原因分析篇
  9. Shader Forge的节点分类
  10. 2005年度设计软件新版发布回顾