在JAVA中调用MATLAB程序

概述

先简单的介绍一下数据分析(百度百科:数据分析)与数据挖掘(百度百科:数据挖掘)。

  • 数据分析:使用适当的统计方法对收集来的大量数据进行分析,为了提取有用信息和形成结论而对数据加以详细研究和概括总结地过程(典型的例子: Excel 数据透视表);
  • 数据挖掘:从大量的数据中通过算法搜索隐藏于其中的信息(典型的例子:机器学习处理鸢尾花数据集)。

总之,数据分析与数据挖掘是紧密相连、相辅相成的,数据分析的结果需要进行进一步数据挖掘才能发挥更大的价值;而数据挖掘在进行价值评估的过程中也需要调整先验约束而再次进行数据分析。

目前主流的数据分析 / 数据挖掘的工具有R、SPSS、Python等。而MATLAB虽然难以超过一众火热的数据分析 / 数据挖掘的工具,但本身作为一门面向过程的语言,以简洁的语法和强大的库函数也受到了很多用户的青睐。在开发JAVA项目的过程中,某个子模块可能需要进行数据分析 / 数据挖掘,这时就通常需要使用现有的JAVA的框架或调用外部接口等。

本文介绍在MATLAB中将程序打为jar包、在IDEA中导入、在JAVA中定义的类中调用在MATLAB中自定义的函数以进行数据分析 / 数据挖掘(本文以MATLAB 2020b为例)。

PS:经过在多台机器上实验,MATLAB2016与2017有时会在程序打包一步报错(二者的内置JAVA版本均为1.7),为了能正常打包,推荐使用高版本MATLAB(经测试MATLAB的JAVA版本为1.8时可以正常打包)

在MATLAB中将程序打为jar包

首先必须保证MATLAB的位数和JAVA版本与Windows系统或IDEA项目的JAVA大版本一致(比如都是1.8)。

  1. 查看MATLAB JAVA版本:在命令行中输入version -java
    在这里插入图片描述

  2. 查看Windos系统JAVA版本:在命令提示符中输入java -version
    在这里插入图片描述

  3. 根据需求编写MATLAB程序(以两数相加为例,由于MATLAB本身的性质,在JAVA端也可以直接用此函数计算两个列表的和)。
    在这里插入图片描述

  4. 在命令行中输入deploytool,在弹出的窗口中选择Library Compiler用于打jar包。
    在这里插入图片描述

  5. 打为jar包。
    在这里插入图片描述

  6. 打包成功后会生成一个Addition文件夹(该文件夹是在打包时命名的),在路径Addition\for_redistribution_files_only下可以找到我们所需的jar包。

在这里插入图片描述

将jar包导入IDEA并调用

  1. 在IDEA中选择“File=>Project Structure=>Libraries”,将上述操作生成的jar包添加到IDEA中。由于需要依赖MATLAB的相关函数,因此也需要把MATLAB自带的javabuilder.jar添加到IDEA,javabuilder.jar是在安装MATLAB时自带的jar包,该jar包的路径为...\MATLAB2020b\toolbox\javabuilder\jar\javabuilder.jar
    在这里插入图片描述

  2. 在JAVA程序中调用(请忽略37行的报错,这里是一定需要抛出异常的,但是我的底层代码出了一点问题)。在这里插入图片描述

  3. 运作结果。
    在这里插入图片描述

  • 11
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值