您的位置:首页 > 编程语言 > MATLAB

VS2010与MATLAB集成(1)-使用引擎方式

2012-08-29 10:03 399 查看
一、环境准备
安装VS2010和MATLAB2012a

二、项目准备
新建Win32控制台项目,并修改为64位配置。增加包含目录:
D:\Program Files\MATLAB\R2012a\extern\include
D:\Program Files\MATLAB\R2012a\extern\include\win64
增加库目录
D:\Program Files\MATLAB\R2012a\extern\lib\win64\microsoft
增加链接库
libeng.lib libmx.lib
修改调试选项中的工作目录(否则会提示找不到对应的.dll):
D:\Program Files\MATLAB\R2012a\bin\win64

三、编写代码
// MatlabDemo.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "engine.h"
#include <iostream>

int _tmain(int argc, _TCHAR* argv[])
{
char buf[1024];
Engine * ep = engOpen(NULL);
//engSetVisible(ep, false);
engSetVisible(ep, true);
engOutputBuffer(ep, buf, 1024);
mxArray * mxN = mxCreateDoubleScalar(3);
engPutVariable(ep, "N", mxN);
engEvalString (ep, "D=rand(N, N)");

mxArray * mxData = engGetVariable(ep, "D");

std::cout << buf << std::endl;
engClose(ep);

return 0;
}


四、编译运行。

可看到输出结果

D =

0.8147    0.9134    0.2785
0.9058    0.6324    0.5469
0.1270    0.0975    0.9575


五、总结

这种方式需要在目标计算机上安装MATLAB,使得引擎能够独立运行起来。C程序需解析运行结果的字符串。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: