c++调用MATLAB engine无法调用到自定义MATLAB函数c++调用MATLAB simulink文件.mdl.slx使用引擎

问题

最近使用c++调用MATLAB的算法时,算法使用了simulink的文件方式,调用mdl文件或者slx文件。结果通过将MATLAB转换为c++库的方式不能调到mdl文件,无法正常执行结果。故而改为使用MATLAB engine的方式调用,这种调用需要使用m文件源码。

而m文件中是自定义函数,这里就是要调用这个自定义的MATLAB函数。

解决方案

至于引擎的调用方法已经有很多,这里就不做描述。这里只是描述怎么让引擎找到这个自定义的m文件中的函数。

那么就是下面这句话

QString addPath_ = QString("addpath(genpath('%1'));").arg(path_ matlab)

其中,path_matlab为自定义m文件所在的目录路径

上面这句话的意思就是添加目录及子目录到搜索路径。这样engine就能找到自定义的函数了。

engine就是类似于将一行行的命令用字符串的形式在c++中组装好,再传给引擎调用。引擎执行后,结果存在了指定的地方,再获取结果,就OK啦。

编辑:myhappyandy

相关推荐
AA陈超21 分钟前
从0开始学习 **Lyra Starter Game** 项目
c++·笔记·学习·游戏·ue5·lyra
q***T58332 分钟前
C++在游戏中的Unreal Engine
c++·游戏·虚幻
保持低旋律节奏33 分钟前
C++——C++11特性
开发语言·c++·windows
ol木子李lo1 小时前
Visual studio 2022高亮汇编(ASM)语法方法
汇编·ide·windows·visual studio
一叶知秋h1 小时前
matlab实现PID参数功能的简单仿真_gif
matlab·gif·pid
小张成长计划..2 小时前
【C++】16:模板进阶
c++·算法
王柏龙2 小时前
Win11 无法找到本地组策略编辑器的解决方法
windows·策略模式
CoderIsArt2 小时前
SAM-5 核心类体系的 C++ 完整设计
c++·sam5
q***09802 小时前
Windows 11 如何配置node.js
windows·node.js
CS_浮鱼2 小时前
【Linux进阶】mmap实战:文件映射、进程通信与LRU缓存
linux·运维·c++·缓存