Matlab Compiler SDK 使用步骤及常见问题总结(全)

MATLAB代码的高效部署与发布指南 MATLAB Compiler SDK包括MATLAB Compiler、MATLAB Builder JA和MATLAB Runtime。这些工具使得将MATLAB应用程序分发给没有MATLAB许可证的用户成为可能。 阅读详情
AI摘要

本文介绍了如何使用Matlab Compiler SDK将Matlab代码打包成Java Jar文件,包括环境配置、打包步骤及常见问题的解决方法,如JDK版本匹配、MCR环境安装、编码异常等。通过详细过程和错误处理,帮助开发者顺利进行Java与Matlab的混合编程。

 

近期参与项目负责把Matlab编写代码打包成为Jar文件交付给Java项目使用,并对之间的衔接部分编写接口代码,遇到了很多问题,学习了Matlab CompilerSDK 的使用,现分享总结如下:

 

我的网盘分享(matlab2017a)

链接:https://pan.baidu.com/s/15a8xLdiPvxbrWpSJDaXmcA 密码:os6t

 

 

一、Matlab Compiler SDK 简述

 

 

Matlab Compiler SDK支持将Matlab程序封装为C/C++、.NET、Java 或 Python的类库,从而实现对于Matlab程序的调用,除此之外Matlab Compiler对于Matlab代码进行了封装,保护了代码安全。

二、Matlab Compiler SDK 使用

以将Matlab程序封装为Java类库Jar文件为例,描述该功能使用的过程:

1.首先确认Matlab中使用的JDK与项目使用是否一致,因为Matlab打包成Jar时,需要调用Javac生成class文件,JDK与项目使用不同会导致无法调用。注意:本项目中使用的是JDK1.8,版本较高,在matlab2017a以前的版本均不支持此版本的jdk,在matlab2017a以后的版本可以使用此版本进行打包。

 

 

图1.获取matlab使用jdk

图2.获取本机项目使用jdk

function [Res] = add(x,y)
 
Res = x + y;

end
编写matlab程序

2.使用deploytool在命令行打开打包部署工具,使用Library Compiler进行类库类型的打包,各项功能如下图所示:

   

图3.打开部署工具

3.打开Matlab Compiler,选取打包类库语言,选择matlab程序,填写相关类名等信息。

在Java中调用Matlab程序踩坑指南 我们的Matlab中的方法接收的是一张图像+两个字符串共三个参数,要注意的是,这里返回的所有变量的类型都是Matlab自己定义的类型。我才就是前面我们导入的。点击菜单栏->附加功能->搜索Matlab Compiler SDK,因为我的电脑安装的是精简版的Matlab,所以要额外安装该组件。网上很多的介绍说Matlab中的jdk版本要和使用的jdk版本一样。点开Recovery的源码,就可以看到刚才定义的方法了,这里最常使用的实际上是重载的第三个方法。文件,之后重命名导出的方法所在的类名, 阅读详情

相关推荐

MATLAB语言的移动应用开发

MATLAB(Matrix Laboratory)是一种高性能的技术计算语言,广泛应用于数学计算、算法开发、数据分析、可视化和工程等领域。MATLAB的优势在于其强大的矩阵运算能力和丰富的图形处理功能,使其在科学研究和工程应用中得到了广泛的应用。近年来,随着移动设备的兴起,MATLAB也在不断扩展其应用范围,特别是在移动应用开发领域,提供了一系列有效的工具和接口。

2501_90485616的博客 540

MATLAB 2015A How to install Visual C++ compiler and windows SDK

MATLAB 2015A How to install Visual C++ compiler and windows SDK问题:在进行matlab的GUI操作时,对GUI的界面设置,和程序编写已经完成,对于后面的对C语言的编译转换,生成可直接运行的程序时。matlab报错,没有安装SDK,”No supported compiler or SDK was found”。这个时候就是需要重新安装编

NanoScale_livelife的博客 2444

matlab 2015b 编译报错 No supported compiler or SDK was found 解决方案(20180410)

环境:Win 10, matlab 2015b, Visual Studio 2015 (这个方法适用于:MATLAB 2013b-2017a) matlab使用过程中,会经常需要编译C/C++文件来提升计算速度,因此需要安装编译器。否则会在编译的时候出现下面的错误 Error using mex No supported compiler or SDK was found. 提示下载安装...

过河小马的专栏 8235

MATLAB R2015b使用MATLAB Compiler Runtime生成Python库的方法

使用MCR将.m文件编译成自己的Python库 官方文档链接:https://ww2.mathworks.cn/help/compiler_sdk/gs/create-a-python-application-with-matlab-code.html?searchHighlight=Create a Python Package&s_tid=doc_srchtitle#d120e3957...

siyuexiangxian的博客 6457

Simulink Compiler实战:从模型到独立应用与Web部署全解析

在工程仿真与算法部署领域,模型封装与独立运行是提升技术成果复用性和交付效率的关键环节。其核心原理在于通过专门的编译工具,将动态系统模型转换为不依赖原开发环境的可执行代码,从而保持模型逻辑的源一致性。这项技术的核心价值在于能够将仿真算法无缝集成到生产、测试及产品系统中,有效解决了软件依赖和跨平台部署的难题。在应用场景上,它广泛适用于创建独立仿真工具、构建实时测试台架、以及作为大型软件系统的算法组件。针对Simulink模型,Simulink Compiler是实现这一过程的核心工具,它支持生成独立可执行程序、

weixin_34241036的博客 332

安装MATLAB Compiler Runtime

MATLAB Compiler Runtime(MCR)是MathWorks公司提供的MATLAB编译器运行时环境,它允许您在没有安装完整MATLAB的计算机上执行已编译的MATLAB应用程序。MATLAB Compiler Runtime现在已经成功安装在您的计算机上,您可以在没有安装完整MATLAB的计算机上运行已编译的MATLAB应用程序。请注意,MCR是一个独立的运行时环境,与完整的MATLAB安装是分开的。安装完成后,您可以验证MATLAB Compiler Runtime是否成功安装。

DevProPlus的博客 4854

C#调用MATLAB神经网络:基于Compiler SDK的混编部署指南

在工业自动化与设备控制领域,上位机程序常常需要集成由MATLAB训练好的神经网络模型,以实现智能故障诊断或预测性维护。然而,C#与MATLAB分属不同的技术栈,直接解析网络结构或移植前向传播代码不仅开发成本高,而且难以维护。混合编程的核心思路是扬长避短:算法设计留在MATLAB,业务逻辑交给C#。借助MATLAB Compiler SDK,可将训练好的模型封装为.NET程序集,C#只需像调用普通类库一样完成数据交互,底层由免费的MATLAB Runtime执行计算。这种方案有效解决了模型迭代同步难、部署环境

weixin_34005090的博客 220

【魔兽世界插件】魔兽世界插件实战笔记从入门到放弃的心理历程 第一节 lua框架的建立

魔兽世界插件实战笔记从入门到放弃的心理历程 第二节 lua框架的建立 找到魔兽世界的安装目录,找到插件的默认位置:\World of Warcraft\_retail_\Interface\AddOns,在这里建立一个文件夹,魔兽的插件都是用一个文件夹来区分的,第一课吗,就用Lesson_one吧。 下面建立的三个文件,第一个点toc文件是最重要的一个,它是魔兽客户端识别插件的一个标识符。 魔兽版本号有一个函数可以查询在WoWLua下面运行:print("当前游戏版本号:",(select(4,GetBui

qq_33075391的博客 6450

Qupath软件的安装与使用

Qupath软件的安装与使用软件安装软件下载软件安装【windows版】简单使用文件打开人工标注标注导出和导入 Qupath是一款开源的医学图像标注软件,适合放射影像及数字病理切片等的查看。同时,其自带的标注功能使得医生可以直接通过该软件进行病变区域的标注和分类。跟进一步的,该软件提供groovy脚本运行接口,可供操作者编写和运行脚本,将标注信息转换为xml或者json格式的数据进行进一步的后序处...

qq_40662074的博客 3万+

百元DIY手机荧光计:低成本荧光检测平台搭建与实战

荧光检测是一种基于物质受特定波长光激发后发射更长波长荧光的分析技术,其核心原理在于光与物质的相互作用。通过选择性激发与检测,该技术能实现对痕量物质的高灵敏度、高特异性定量分析,在生物医学、环境监测和食品安全等领域具有重要价值。传统荧光分光光度计虽精度高,但成本昂贵、体积庞大且操作复杂,限制了其在现场快检和普及教育中的应用。本文聚焦于如何利用智能手机的高性能摄像头和处理器,结合低成本光学滤光片和LED光源,构建一个便携、经济的DIY荧光检测平台。该方案通过简化光路设计,采用带通滤光片进行波长选择,并利用图像处

weixin_34194829的博客 308

基于树莓派与ROS的桌面机器人开发:从硬件组装到AI集成实战

嵌入式系统与机器人操作系统(ROS)是构建智能硬件的核心技术基础。嵌入式系统为设备提供了专用计算与控制能力,而ROS作为机器人开发的中间件框架,通过节点、话题和服务等机制,实现了感知、决策、执行等模块间的松耦合通信与高效集成。这种架构极大地提升了机器人系统的可扩展性与可维护性,其技术价值在于能够将复杂的AI算法,如计算机视觉和语音识别,与实体硬件执行机构无缝结合,从而快速构建出具备环境交互能力的智能体。在桌面机器人、教育套件及服务机器人原型开发等应用场景中,该技术栈尤为适用。本文以开源的Wall-E桌面机器

weixin_26775679的博客 651

HDR 人像肤色稳定实战:AE/AWB/ToneMap 冲突解耦与优先级裁决

人像 HDR 最容易“翻车”的就是**肤色飘**:AE 抢亮度、AWB 拉白点、TM 又在肩部压高光,三方各自“对”却合起来“错”。本文给出一套**工程可落地**的裁决策略:以**肤色 ROI 锚点**为最高约束,AE 先对脸部入射照度收敛,AWB 在**肤色先验 + 光源模型**下缓变,TM 采用**色相保持 + 中灰/肤色双锚**且时域一致化。配套**阈值与回归**(ΔE00、亮度漂移 RMS、频闪注入),把“主观对”的口径落到**可度量**,并给出逆光、多脸、霓虹等极端场景的**例外分流**。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1205

ROS机器人未知环境自主探索功能包explore_lite最全源码详细解析(一)

本系列文章主要针对ROS机器人常使用的未知环境自主探索功能包explore_lite展开全源码的详细解析,并进行概括总结。 本系列文章共包含六篇文章,前五篇文章主要介绍explore_lite功能包中 explore.cpp、costmap_tools.h、frontier_search.cpp、costmap_client.cpp等源码实现文件中全部函数的详细介绍,第六篇文章进行概括总结,包含自主探索功能包explore_lite的简介,实现未知环境自主探索功能的原理及流程总结,效果演示,使用功能包

慕羽★的博客 3936

MIKE21 MIKE软件 教程 0.1 软件介绍与教学目录

MIKE 21是一个专业的工程软件包,用于模拟河流、湖泊、河口、海湾、海岸及海洋的水流、波浪、泥沙及环境问题。在MIKE Zero集成平台中,主要有MIKE11,MIKE21,MIKE3三类软件,分别对应一维,二维,三维的水动力模型模拟。同时还包括MIKE HYDRO,MIKE FLOOD等其他功能,各软件的具体介绍请参考DHI公司的官方文档,在此不作赘述。学习过程中,对于任何操作界面的疑问,建议大家仔细阅读帮助文档(在有疑问的界面按F1调出),同时官方也提供了对应的线上和线下教学服务(免费+收费)。

Hello Word 2万+

SmartFusion从FPGA到ARM(九)——串口命令解析器的实现

系列教程:SmartFusion从FPGA到ARM系列教程 前面两节介绍了MSS_UART和CoreUARTapb的使用: MSS_UART的使用 CoreUARTapb的使用 MSS_UART和CoreUARTapb都支持中断和轮询方式获取串口接收的数据,对于串口中断服务函数,有时我们需要通过不同的串口指令去执行不同的动作,下面以CoreUARTapb为例,来实现一个简单的串口命令解析器。固定串口数据帧格式,帧长度不定。 串口数据帧格式:* + 数据 + #,对于数据中为参数的,可以自定义处理函数。例

whik1194的博客 1535

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

上一篇: AI领域各个方向大牛博客汇总
下一篇: Java中的main()函数
GuoMell
博客等级 码龄11年 30粉丝 29原创
评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值