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

相关推荐
Dev7z14 分钟前
基于Matlab多目标粒子群优化的无人机三维路径规划与避障研究
开发语言·matlab·无人机
温宇飞41 分钟前
C++ 内存与性能优化:语言特性的开销分析与替代方案
c++
Evand J1 小时前
【MATLAB例程】2雷达二维目标跟踪滤波系统-UKF(无迹卡尔曼滤波)实现,目标匀速运动模型(带扰动)。附代码下载链接
开发语言·matlab·目标跟踪·滤波·卡尔曼滤波
Lucis__2 小时前
从基本用法到迭代器实现—list重难点突破
c++·容器·list
努力学习的小全全2 小时前
【CCF-CSP】06-01数位之和
c++·ccf-csp
再卷也是菜2 小时前
C++篇(16)C++11(下)
c++
CS_浮鱼2 小时前
【C++进阶】智能指针
开发语言·c++
怕什么真理无穷3 小时前
C++_面试题_21_字符串操作
java·开发语言·c++
Dream it possible!3 小时前
LeetCode 面试经典 150_二叉树_二叉树展开为链表(74_114_C++_中等)
c++·leetcode·链表·面试·二叉树
hello_fracong3 小时前
PostgreSQL (零-1) Windows安装PostgreSQL
数据库·windows·postgresql