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

相关推荐
橘子真甜~7 小时前
C/C++ Linux网络编程9 - TCP服务器实现流程和独立运行
linux·运维·服务器·c++·守护进程·会话组
暗然而日章14 小时前
C++基础:Stanford CS106L学习笔记 4 容器(关联式容器)
c++·笔记·学习
巨人张15 小时前
C++火柴人跑酷
开发语言·c++
Gomiko17 小时前
C/C++基础(四):运算符
c语言·c++
freedom_1024_17 小时前
【c++】使用友元函数重载运算符
开发语言·c++
zmzb010317 小时前
C++课后习题训练记录Day43
开发语言·c++
越来越无动于衷18 小时前
HTTP 文件服务器 Windows 开机自启动全维度总结
服务器·windows·http
t1987512818 小时前
MATLAB水声信道仿真程序
开发语言·算法·matlab
赖small强18 小时前
【Linux C/C++开发】 GCC -g 调试参数深度解析与最佳实践
linux·c语言·c++·gdb·-g
CAE虚拟与现实19 小时前
C/C++中“静态链接(Static Linking)” 和 “动态链接(Dynamic Linking)释疑
开发语言·c++·dll·动态链接库·lib库