Matlab是以矩阵为基本编程单位的高级数值计算语言。
在C程序中调用Matlab函数的主要过程是:
1、调用engOpen函数打开一个Matlab工程
2、生成变量矩阵
3、调用engPutArray函数将矩阵放入到Matlab工作区间中
4、调用engEvalString函数向Matlab传递命令。
注意:在VC中,所有和Matlab的数据交互矩阵都是通过mxArray来实现的。但是在Linux下是自己创造数组传递给matlab工作空间。在使用mxArray类型的程序中,应包含头文件matrix.h,不过在引擎程序中,一般会包含头文件engine.h,该文件里面已经包含了matrix.h,因此无需重复包含。
具体过程说明如下:
1、加载matlab的头文件
#include“engine.h”
2、声明使用matlab引擎Engine *ep;
3、引擎的打开
engOpen-打开Matlab engine
函数声明:
Engine *engOpen(const char *startcmd);
参数startcmd是用来启动Matlab引擎的字符串参数,一般是NULL。
EngClose-关闭Matlab 引擎
函数声明:
int engClose(Engine
*ep);
参数ep代表要被关闭的引擎指针。
函数返回值为0表示关闭成功,返回1表示发生错误。
4、利用matlab API
mxCreatexxxMatrix函数生成矩阵,即申请空间