在C、C++中调用Matlab的主要过程如下所示: 1) 首先调用engOpen函数打开一个Matlab工程。 2) 生成mxArray。
在Matlab中,所有变量类型,如标量、向量、矩阵、字符串、细胞矩阵和结构,都以mxArrays形式来保存,固数据操作都必须通过这些mxArrays来完成。生成mxArray有两种不同的方式。一是用mxCreate函数来创建矩阵,之后用mxSetName函数对它进行命名。
另一种方式是选择将一个自定义的数据结构复制到mxArray中,值得注意的是Matlab在存储矩阵时是按列序保存的,而在C、C++中是按行序保存的,所以转换时注意分清下标。 3) 调用engPutArray函数将矩阵放入到Matlab工作区中。
4) 通过engEvalString函数向Matlab传递命令,如果成功,函数返回值为此0,否则返回一个非0值。
5) 将Matlab中的运行结果回传给C、C++