是否可以从QtCreator调用Matlab
Is it possible to call Matlab from QtCreator?
我正在QtCreator环境中使用C++进行图像分析。为了建立一个学习模型,我想使用MATLAB中的TreeBagger类,它真的很强大。我可以从QtCreator调用MATLAB,给它一些参数,然后返回分类错误吗?我可以在不使用mex文件的情况下执行此操作吗?
来自QProcess的同步进程API示例:
QProcess gzip;
gzip.start("gzip", QStringList() << "-c");
if (!gzip.waitForStarted())
return false;
gzip.write("Qt rocks!");
gzip.closeWriteChannel();
if (!gzip.waitForFinished())
return false;
QByteArray result = gzip.readAll();
这个例子的概念是能够执行matlab的过程,无论设置如何,都是可取的,并立即开始为其编写脚本。写入之后;您可以关闭通道,等待响应,然后从matlab中读取结果。不幸的是,我没有提供更直接的例子的经验,但这是大多数情况下的概念。请查阅文档以了解其他信息。
Matlab有一个"引擎"接口,这里描述了它可以让独立程序调用Matlab函数。它的优点是,您可以调用engPutVariable
和engGetVariable
以二进制格式传输数据(我认为它是通过在您的进程和matlab之间使用共享内存来工作的,但我对此不确定),因此您不必将数据转换为ascii并从ascii解析结果。
对于c++,您可能想要为RAII编写一个包装器类,或者查看http://www.codeproject.com/Articles/4216/MATLAB-Engine-API,而这已经完成了。
相关文章:
- 加载由 MATLAB Coder 生成的带有函数的 DLL,该函数调用外部函数
- 在 matlab 中调用 opencv 的图像时,无法读取 C++ 中的图像
- 显示 matlab 程序的输出,调用另一个 C++ 程序
- 使用带有 MEX 包装器的帮助程序 C 文件从 MATLAB 2016 调用C++代码时出现问题
- 从MATLAB调用类时的分割故障
- 如何使用C 代码调用MATLAB自定义函数
- MATLAB由于调用库(C++.h文件和FORTRAN.dll)而崩溃
- 如何从C++调用 matlab 成员函数
- 传递用于在 C++ 中调用 MATLAB 函数的参数
- 从项目中调用 MATLAB 或 Scilab 函数C++
- 如何从 S 函数调用 matlab 变量
- 从c++调用matlab dll:初始化库失败
- 是否可以从QtCreator调用Matlab
- 是否可以通过调用matlab中的c/c++代码来加速matlab绘图
- 从c++调用MATLAB dyld:库未加载错误
- 从c++调用MATLAB错误:无法解析的外部符号
- 用刷新输入从c++调用Matlab
- 延迟调用MATLAB函数
- 如何用C++调用Matlab函数
- 在C++中调用matlab mex文件