1.导出JAR包方法
java版本不得高于8
以func.m为例
function result = func(x)
result = 2*x+1;
end
在命令行窗口输入deploytool
,如下图
选择Library Complier,选择Java Package和matlab文件,设置类名并打包
打包会生成四个文件夹
所需要的jar包在for_redistribution_files_only中,如下图
2.Java调用matlab导出的JAR包
运行jar
包还需要matlab
中的javabuilder.jar
文件,具体位置如下图所示
将javabuilder.jar
和导出的jar
包导入java
工程项目
调用jar
包
可以看到这里对导出的Func生成了三个同名方法,其中最常用的是第三个方法
其第一个参数代表传入参数的个数
其后是可变参数,即传入的x
其对应的matlab
代码为:
function result = func(x)
result = 2*x+1;
end
其余参数含义可自行查询
这里展示了调用matlab
实现的计算2*x+1的函数和绘制sigmod
图像的函数的具体过程
3.Ubuntu下搭建matlab运行时环境
Windows环境下导出的jar
包直接在Ubuntu
下运行会出现缺少动态库等异常,如下图
因此需要配置matlab
运行时环境
matlab
运行时环境下载:https://www.mathworks.com/products/compiler/matlab-runtime.html
安装方法:
#解压文件
unzip MATLAB_Runtime_R2022b_glnxa64.zip
#交互式安装(图形界面)
sudo -H ./install
#非交互式安装(命令行)
./install -inputfile installer_input.txt
#installer_input.txt文件内容为:
#agreeToLicense=yes
#destinationFolder=/usr/MATLAB/MATLAB_Runtime
#outputFile=myapp_log.txt
#-agreeToLicense:同意 MATLAB Runtime 许可证。
#-destinationFolder:指定 MATLAB Runtime 的安装位置。
#-outputFile:指定安装日志文件的写入位置。
或者将以前安装过的环境文件夹直接拷贝过来也行
安装完成后,添加环境变量sudo vim /etc/profile
,并重启
export LD_LIBRARY_PATH=/home/lzy/Downloads/matlab/R2022b/runtime/glnxa64
Ubuntu
下java
调matlab
导出的jar
包与matlab
代码运行对比如下: