1、VC++调用Matlab引擎
系统平台:win7 x64 + VC++2010 + Matlab2012b
操作流程:
1添加系统环境变量
Path变量中增加:C:\Program Files\MATLAB\R2012b\bin\win64;
重启电脑。
2在VS中新建一个编译平台
(1) 进入“配置管理器”
通过项目属性进入。
或者直接从工具栏平台的下拉箭头下进入:
(2)增加x64平台
确定,得到如下结果。
3添加头文件和库文件
项目属性——》VC++目录,如图:
包含目录增加:C:\Program Files\MATLAB\R2012
2、b\extern\include
库目录增加:C:\Program Files\MATLAB\R2012b\extern\lib\win64\microsoft
4例子程序代码
特别的,注意代码中红色的部分!
#include
#include
#include "engine.h"
#pragma comment(lib, "libmx.lib")
#pragma comment(lib, "libmat.lib")
#pragma comment(lib, "libeng.lib")
using namespace std
3、
int main()
{
const int N = 50;
double x[N],y[N];
int j = 1;
for (int i=0; i4、tart Matlab engine!" <5、组x复制到mxarray数组yy中。
engPutVariable(ep, "xx",xx); //将mxArray数组xx写入到Matlab工作空间,命名为xx。
engPutVariable(ep, "yy",yy); //将mxArray数组yy写入到Matlab工作空间,命名为yy。
//向Matlab引擎发送画图命令。plot为Matlab的画图函数,参见Matlab相关文档。
engEvalString(ep, "plot(xx, yy); ");
mxDestroyArray(xx); //销毁mxArray数组xx和yy。
mxDestroyArray(yy);
cout <<"Press any key to exit!" <