java调用matlab程序

简介: <div class="markdown_views"> <p>在实际Java编程中,我们可能想要使用matlab编写一些复杂的数值计算算法,然后导入我们的java项目中调用。这首先需要我们matlab的jdk版本和java项目的jdk版本对应一致。想查看matlabjdk版本,可以在matlab命令行中输入<code>version -java</code>来查看,会看到类似
+关注继续查看

在实际Java编程中,我们可能想要使用matlab编写一些复杂的数值计算算法,然后导入我们的java项目中调用。这首先需要我们matlab的jdk版本和java项目的jdk版本对应一致。想查看matlabjdk版本,可以在matlab命令行中输入version -java来查看,会看到类似下面的内容:
Java 1.7.0_60-b19 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
。下面我们来看看matlab2015a版本下编写的m文件代码如何导入java中使用。
1. 在matlab中编写m文件程序,程序来源于我另一篇博文matlab实现的五彩烟花:http://blog.csdn.net/qwe6112071/article/details/50868067
2. 将m文件程序编译成java可识别的jar包。
1. 先在命令行输入:depolytool,然后会弹出如下窗口,
这里写图片描述
2. 选择 Library Compiler,会弹出如下窗口
这里写图片描述
3. 选择并填写下图图中相应的信息,完成后点击右上角的package,会弹出一个窗口,如果破解得彻底的,会提示打包成功,但如果破解得不彻底的,就会报错了。
这里写图片描述
下面是打包的运行窗口,等待时间可能会比较长。
这里写图片描述
打包完成后,会显示如下图片,然后我们进入响应目录下的for_redistribution_files_only文件夹里,即可找到我们的打好的jar包然后连同matlab安装目录下的toolbox\javabuilder\jar文件夹下的javabuilder.jar文件,一块导进我们的java程序中。
这里写图片描述
4. 然后我们通过java新建一个matlab函数转换成的类,并通过此类调用matlab函数

import yanhua.Yanhua;

import com.mathworks.toolbox.javabuilder.MWException;

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

Yanhua yanhua = new Yanhua();
yanhua.yanhua();
}
}
实现效果如下所示,

这里写图片描述
值得一提的是,通过java来解析matlab的GUI界面,就会显得比较粗糙了,所以从实际出发,java调用matlab程序更适合于使用matlab进行一些大规模数值计算的场景,具体matlab程序的完整实现请查看我的另一篇文章:<

目录
相关文章
|
13天前
|
存储 算法 索引
第4章 MATLAB编程基础——4.7 MATLAB程序的调试
第4章 MATLAB编程基础——4.7 MATLAB程序的调试
|
2月前
|
机器学习/深度学习
用于生成随机曲面的Matlab程序(Matlab代码实现)
用于生成随机曲面的Matlab程序(Matlab代码实现)
|
2月前
基于MATLAB的线性分组码的编码译码程序
基于MATLAB的线性分组码的编码译码程序
|
2月前
|
存储
【微电网_储能】基于启发式状态机策略和线性程序策略优化方法的微电网中的储能研究【给定系统约束和定价的情况下】(Matlab代码实现)
【微电网_储能】基于启发式状态机策略和线性程序策略优化方法的微电网中的储能研究【给定系统约束和定价的情况下】(Matlab代码实现)
|
2月前
|
机器学习/深度学习
【MATLAB第23期】基于MATLAB的LSTM或ANN万能插值程序含交互界面APP
【MATLAB第23期】基于MATLAB的LSTM或ANN万能插值程序含交互界面APP
|
2月前
|
机器学习/深度学习 算法 数据挖掘
【MATLAB第3期】源码分享#数学建模常用算法程序整理
【MATLAB第3期】源码分享#数学建模常用算法程序整理
|
3月前
|
算法 Java
数学建模常用算法:人工鱼群算法(AFAS)求解二元函数最小值+限定x,y范围测试【java实现--详细注释+Matlab绘制小鱼游动过程】
数学建模常用算法:人工鱼群算法(AFAS)求解二元函数最小值+限定x,y范围测试【java实现--详细注释+Matlab绘制小鱼游动过程】
86 0
|
3月前
|
算法 Java
数学建模常用算法:粒子群算法(PSO)求解二元函数最小值+限定x,y范围测试【java实现--详细注释+Matlab绘制粒子群飞行过程】
数学建模常用算法:粒子群算法(PSO)求解二元函数最小值+限定x,y范围测试【java实现--详细注释+Matlab绘制粒子群飞行过程】
113 0
|
7月前
|
机器学习/深度学习 传感器 并行计算
基于MATLAB实现的简单滤波器程序
基于MATLAB实现的简单滤波器程序
|
9月前
|
Java C# 决策智能
运筹优化学习09:一个示例带你入门如何使用C++、C#、Java、Python、Matlab调用Cplex(下)
运筹优化学习09:一个示例带你入门如何使用C++、C#、Java、Python、Matlab调用Cplex
运筹优化学习09:一个示例带你入门如何使用C++、C#、Java、Python、Matlab调用Cplex(下)
相关产品
云迁移中心
推荐文章
更多