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

相关推荐
Elnaij5 小时前
从C++开始的编程生活(16)——继承
开发语言·c++
纵有疾風起5 小时前
【C++11深度解析(2)】从新增类功能到智能指针的现代 C++ 核心新特性
开发语言·c++·经验分享·开源
沧澜sincerely5 小时前
蓝桥杯103 日期问题
c++·蓝桥杯
jayson.h5 小时前
word宏批量插入.csv格式的附件
windows·word
xiaolongmeiya5 小时前
P3810 【模板】三维偏序 / 陌上花开 cdq分治+树状数组
c++·算法
Chrikk5 小时前
基于 RAII 的分布式通信资源管理:NCCL 库的 C++ 封装
开发语言·c++·分布式
阿沁QWQ5 小时前
C++哈希表设计
开发语言·c++·散列表
春日见5 小时前
用matlab对相机进行标定获取相机内参
开发语言·数码相机·matlab
guygg885 小时前
一维移动最小二乘近似的MATLAB程序
开发语言·matlab
软件算法开发5 小时前
基于鹈鹕优化的LSTM深度学习网络模型(POA-LSTM)的一维时间序列预测算法matlab仿真
深度学习·matlab·lstm·一维时间序列预测·鹈鹕优化·poa-lstm