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

相关推荐
saltymilk7 小时前
C++ 语言特性的变更可能让你的防御成为马奇诺防线
c++
Smile丶凉轩7 小时前
C++ 高性能内存池面试题总结
开发语言·c++
jbb05238 小时前
Matlab的主成分分析pca函数的使用方法
matlab
汉克老师8 小时前
CCF-NOI2025第二试题目与解析(第二题、集合(set))
c++·算法·noi·子集卷积·sos dp·mod 异常
Ayu阿予8 小时前
C++从源文件到可执行文件的过程
开发语言·c++
福尔摩斯张8 小时前
基于C++的UDP网络通信系统设计与实现
linux·c语言·开发语言·网络·c++·tcp/ip·udp
hkNaruto8 小时前
【规范】Linux平台C/C++程序版本发布调试规范手册 兼容银河麒麟
linux·c语言·c++
guygg889 小时前
基于Matlab的压缩感知信道估计算法实现
开发语言·算法·matlab
老王头的笔记9 小时前
Spring支持的消费器模式,支持在当前事务提交、或回滚的前、后执行业务操作
java·windows·spring
老王熬夜敲代码9 小时前
C++中的mutex、condition_val
c++·笔记·面试