当前位置: 首页 > news >正文

matlab和java混合编程经验分享

最常用的就是可以查到再控制栏deploytool选择library complier打包,但是有问题就是比如果用了外部的求解器比如yalmip或者cplex的话用这个方法会找不到外部的求解器,网上找了很多,基本都大同小异。
后面分享一个亲测有效的打包方法,直接在控制栏输入

mcc -W 'java:myJavaPackage,PSO_SOCP' -T link:lib -d 'D:\matlab_output' -v 'D:\matlabwork\**.m' 'D:\matlabwork\*.m' -a 'D:\matlab\toolbox\YALMIP-master' -a 'D:\cplex\cplex\matlab'

‘D:\matlab_output’ 输出目录
‘D:\matlabwork**.m’ 'D:\matlabwork*.m’打包的包
‘D:\matlab\toolbox\YALMIP-master’ -a 'D:\cplex\cplex\matlab’外部依赖
详情可以参考这个
https://ww2.mathworks.cn/help/compiler/mcc.html#buth_o8

补充说明可能遇到的两个报错

错误使用 matlab.depfun.internal.cacheMtree (line 29)
MATLAB 代码 'D:\cplex\cplex\matlab\x64_win64\cplexoptimget.m' 包含以下语法错误:
L 22 (C 1): SYNER: 在 '.' 处出现解析错误: 使用的 MATLAB 语法可能无效。

出错 isClassdef>hasClassDef (line 37)
        mt = matlab.depfun.internal.cacheMtree(file);

出错 isClassdef (line 21)
            tf = hasClassDef(file);

出错 className_impl (line 118)
    elseif isfullpath(whichResult) && isClassdef(whichResult)

出错 className (line 64)
        [clsName, clsFile] = className_impl(whichResult);

出错 matlab.depfun.internal.MatlabSymbol/determineClassType (line 722)
            [name, clsFile] = className(symObj.WhichResult, symObj.Symbol);

这个是因为我不知道什么时候动了这个文件夹的代码,多了个‘,’,代开这个文件去掉就行
错误2


The file  
 'D:\matlab\toolbox\YALMIP-master\modules\dummy.m'  
 is empty (zero bytes long).  
 
 This file cannot be added to the CTF archive because it will cause an error  
 when the application or library is run. Add valid content to this file if 
 your application or library requires this file. 
Failed to build CTF file: 'D:\matlab_output\myJavaPackage.ctf'. 
Call to mcc failed with return code 1 (0x1).

这个是因为这个文件是dummy.m 是 YALMIP 工具箱中的一个文件,通常用于占位或其他辅助功能。

function dummy()
    % Dummy function to satisfy MATLAB Compiler
    disp('This is a placeholder function.');
end

打开这个文件往里面加一行这个就行

相关文章:

  • 迅为RK3568开发板篇Openharmony配置HDF控制UART-实操-HDF驱动配置UART-修改HCS配置
  • Python logger模块
  • 路由器的WAN口和LAN口有什么区别?
  • 1.14作业
  • 动态存储斐波那契数列(递归优化)
  • 基于AVue的二次封装:快速构建后台管理系统的CRUD方案
  • synchronized锁字符串
  • 语音直播交友app出海:语音直播交友系统软件源码搭建国际化发展技术层面分析
  • SHELL32!SHLoadPopupMenu函数分析之添加属性菜单项
  • Ubuntu22.04 - etcd的安装和使用
  • AI大模型发展对语音直播交友系统源码开发搭建的影响
  • python-leetcode-搜索二维矩阵 II
  • 实战:利用百度站长平台加速网站收录
  • Spring Boot 中事务的用法详解
  • 雷龙CS贴片式NAND芯片应用实践-大容量存储与多媒体设备的完美融合
  • Effective C++ 读书笔记(十二)
  • Perl 面向对象编程指南
  • 17-最长公共前缀
  • Android Coil3缩略图、默认占位图placeholder、error加载错误显示,Kotlin(1)
  • C++ 泛型编程之补充(class 和typename)
  • 红桃免费观看电视剧高清斗破苍穹/贵港网站seo
  • 工作室 网站/百度极速版下载安装
  • 大型网站频道的建设需多人协同开发/怎么样建一个网站
  • 河南省住房和城乡建设厅二维码网站/快速排名教程
  • wordpress 样式丢失/网站seo推广员招聘
  • android 移动网站开发/电脑优化工具