matlab java mac_macOS Mojave上Matlab 2018a与Java的联合编程
安装Matlab和MCR
① 自行安装 Matlab 2018a,建议设置为英文。因为 MCR 默认编码不是 UTF-8,而且貌似不能修改。否则后面的异常信息会出现乱码。
③ 在目标计算机上,将以下内容追加到环境变量 DYLD_LIBRARY_PATH 的末尾。
1/Applications/MATLAB/MATLAB_Runtime/v94/runtime/maci64:/Applications/MATLAB/MATLAB_Runtime/v94/sys/os/maci64:/Applications/MATLAB/MATLAB_Runtime/v94/bin/maci64:/Applications/MATLAB/MATLAB_Runtime/v94/extern/bin/maci64
④ 非常重要:重启,command+R进入恢复模式,csrutil disable 关闭 SIP。
配置Java环境
① Matlab 命令窗口输入以下代码查看 Java 版本号。
1version -java
② 从以下网址下载对应的 JDK ,这里对应的是 Java SE Development Kit 8u144 。
Java SE 8 Archive Downloads
③ 执行下载好的 JDK 安装包,安装完成的路径为
/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk
④ 配置 JAVA_HOME 环境变量,在Mac终端上执行以下代码。
1
2
3
4
5
6
7
8
9cd ~
vim .bash_profile
# 按i进行编辑,添加以下语句
exportJAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
exportDYLD_LIBRARY_PATH=/Applications/MATLAB/MATLAB_Runtime/v94/runtime/maci64:/Applications/MATLAB/MATLAB_Runtime/v94/sys/os/maci64:/Applications/MATLAB/MATLAB_Runtime/v94/bin/maci64:/Applications/MATLAB/MATLAB_Runtime/v94/extern/bin/maci64
exportCLASSPATH=.:/Applications/MATLAB_R2018a.app/toolbox/javabuilder/jar/
# 保存之后,更新配置文件
source .bash_profile
⑤ 查看环境是否生效。
1
2
3
4
5java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
⑥ 备注:Mac 中的 JDK 和 Matlab 中的在大版本上必须一致, 小版本可以不相同。
将 m 文件 Complie 为 jar
① 以下路径找到示例函数 makesqr.m,添加到 Matlab 工作目录。
1/Applications/MATLAB_R2018a.app/toolbox/javabuilder/Examples/MagicSquareExample/MagicDemoComp/makesqr.m
② 命令行输入 deploytool, 选择 Library Compiler。
③ 添加m函数,修改类名,Package。
④ 在输出文件夹可以找到 makesqr.jar
在 IDEA 中运行
① 新建一个模块, Project SDK 设置为1.8。
② 在以下文件夹找到 javabuilder.jar
1/Applications/MATLAB_R2018a.app/toolbox/javabuilder/jar
③ 将 makesqr.jar 和 javabuilder.jar 放在 lib 包下, Add as library。
④ 编写一个类进行测试。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16import com.mathworks.toolbox.javabuilder.MWException;
import makesqr.MakeSqr;
public class TestMatlab2Java {
public static void main(String[] args) throws MWException {
MakeSqr makeSqr = new MakeSqr();
// 第一个参数1表示makesqr()方法只有一个返回值, 不可以省略
// 第二个参数3表示原来Matlab中makesqr()方法的参数为3
Object[] squareArr = makeSqr.makesqr(1, 3);
for (Object square : squareArr) {
System.out.println(square);
}
}
}
⑤ 执行的结果和 Matlab 中的结果一致。
1
2
38 1 6
3 5 7
4 9 2
参考文章
matlab java mac_macOS Mojave上Matlab 2018a与Java的联合编程相关推荐
- java获取ajax上传的文件,Java使用Ajax异步上传文件
相关代码示例: html代码片段: 名称 class="layui-input"> 描述 文件 请选择配置文件 立即提交 重置 js代码片段: //上传配置文件 $(&quo ...
- java安装不上有关故障排除,Java有关问题排查(运维篇)
Java问题排查(运维篇) 每一位开发想必都会遇到线上服务告警,而导致这样原因的肯能有流量增加或是代码中bug异常没有抓住导致,而此刻我们就需要去排查问题. 1:业务增加,导致FGC频繁发送,如果不知 ...
- java 到服务器上读文件路径,java访问linux服务器读取文件路径
java访问linux服务器读取文件路径 内容精选 换一换 通过ADC从Host获取文件.参见准备环境完成环境配置.以运行用户登录安装Toolkit组件的服务器.执行命令,从Host获取B.java, ...
- mac使用eclipse创建java_【Java】Mac上使用Eclipse创建Java项目的一般步骤
不常创建,记录一下. 一.创建项目文件夹 1.打开eclipse,在工作目录下创建项目文件夹. 二.创建maven项目 1.创建父项目 1.1 File -> New -> Other 步 ...
- java从键盘上录入信息
JAVA从键盘上录入信息 import java.util.Scanner; /*** 从键盘录入信息* 导入Scanner 导包*/public class Test01 {public stati ...
- Java是世界上最好的语言
不好意思,Java是世界上最好的语言 Java的特点 ***Java**是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强 ...
- 双表查询java代码_什么是JDBC?Java数据库连接性简介
JDBC(Java数据库连接性)是Java API,用于管理与数据库的连接,发出查询和命令以及处理从数据库获得的结果集.JDBC在1997年作为JDK 1.1的一部分发布,是为Java持久层开发的首批 ...
- matlab java堆内存溢出,matlab内存溢出的解决方案
(1) 增加虚拟内存:cmd -> taskmgr 打开任务管理器,查看物理内存和虚拟内存,可观察matlab在运行过程中是否超过物理内存和虚拟内存.若超过,增加虚拟内存的方法是不可行的.物理内 ...
- java和matlab的交互实践--在java项目中调用matlab程序
本文主要解决了java项目中调用matlab程序过程中遇到的问题,下文主要分matlab的jar包部署以及java项目配置两个方面来分析. 1.matlab项目的部署 -- 生成jar包 保存matl ...
- CentOS x64上Matlab R2015b的镜像安装方法与卸载
CentOS x64上Matlab R2015b的镜像安装方法与卸载 [日期:2015-11-13] 来源:Linux社区 作者:snake553 [字体:大 中 小] CentOS x64上Matl ...
最新文章
- mysql 分组占比_含泪整理MySQL索引
- 初步考虑matlab的仿真功能如何编程实现
- 经典C语言程序100例之四二
- python模仿windows文件管理_python – 在Windows中显示文件的资源管理器属性对话框...
- Quartz.Net - Lesson 1: 使用Quartz
- EOJ_1082_Virtual Friends
- 蚂蚁集团高级架构师郭援非:分布式数据库是金融机构数字化转型的最佳路径...
- 云原生落地困挑战无处不在?我选Serverless
- centos7源码编译安装mariadb
- 数据库:数据导入/数据导出
- 七句话道出做人的底线【精辟】
- gitlab 安装、配置、清空、卸载、重装
- 拓端tecdat:R语言主成分回归(PCR)、 多元线性回归特征降维分析光谱数据和汽车油耗、性能数据
- java traingdx函数实现_提取伪彩色图像的信息
- 详细记录基于vue+nodejs+mongodb构建的商城学习(三)基于项目的vue框架梳理
- Win10完美运行红色警戒2的安装包和补丁
- qlv转MP4(笨方法,大用途)
- 操作系统IO模式(理解)
- 怎么用python海龟画五角星_海龟编辑器五角星怎么画 绘制五角星就是这么简单...
- 从有线路由器连接到另一个无线路由器
热门文章
- 清华大学开源用于网络嵌入的工具包 OpenNE
- mapreduce实现矩阵相乘
- 本地上支持apache多站点访问
- 应用优化-HTTP缓存
- windows xp下Apache2.2.11整合Tomcat6.0.20
- 【课本】【No.4】数字特征 离散/连续均值/方差 随机向量 协方差 相关系数 矩 偏度 峰度 多维均值/协方差 运算性质 条件期望 随机个随机向量的和 正态中的条件期望是线性函数
- Java GC种类以及触发时机
- 全球首次!玩5G日本来了一波骚操作
- 字符函数-(学习笔记)
- python3使用paramiko