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

相关推荐
机器学习之心14 小时前
MATLAB基于云模型的模糊综合评价法——以电工学课程教学评价为例
matlab·云模型·模糊综合评价法
无限进步_14 小时前
C语言实现贪吃蛇游戏详解
c语言·开发语言·数据结构·c++·后端·算法·游戏
CHANG_THE_WORLD14 小时前
C++ vs Python 参数传递方式对比
java·c++·python
ULTRA??14 小时前
C++实现右折叠
开发语言·c++
J小黄14 小时前
解决IRQL_NOT_LESS_OR_EQUAL蓝屏,IMAGE_NAME: ntkrnlmp.exe
windows
handsomezqh14 小时前
洛谷U611548 助教的比拼
c++·算法
小李小李快乐不已14 小时前
图论理论基础(4)
c++·算法·图论·迭代加深
崇山峻岭之间15 小时前
C++ Prime Plus 学习笔记025
c++·笔记·学习
bkspiderx15 小时前
C++操作符优先级与结合性全解析
c++·思维导图·操作符优先级·结合性
楼田莉子15 小时前
基于Linux的个人制作的文件库+标准输出和标准错误
linux·c语言·c++·学习·vim