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

vs2008 调用matlab 2013a引擎

2014-05-06 14:12 375 查看
最近做一个小项目,要用vs2008 调用matlab 2013a引擎 构建神经网络来做一些判断。

粗略浏览了下matlab的使用说明,然后就去网站找c++调用matlab的例子,参考了http://blog.sina.com.cn/s/blog_6163bdeb0100qd49.html,过程如下:

1、包含matlab的头文件

工具-->选项-->左侧项目和解决方案-->VC++目录-->右上角选择【包含文件】,新增一行D:\Program Files\MATLAB\R2013a\extern\include

2、包含matlab库文件

同一个地方右上角选择库文件,新增一行

D:\Program Files\MATLAB\R2013a\extern\lib\win32\microsoft

3、项目属性里设置需要包含的lib文件 libmx.lib libmat.lib libeng.lib

4、系统环境变量增加d:\Program Files\MATLAB\R2013a\bin\win32

5、测试代码

// junkFilter_matlab.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "engine.h"
int _tmain(int argc, _TCHAR* argv[])
{

Engine* ep;
if(!(ep=engOpen("\0")))
{
printf("Matlab引擎启动失败!");
}
printf("成功启动Matlab引擎,下面绘制方格图!");
engSetVisible(ep,0); //隐藏Matlab窗口
engEvalString(ep,"[x,y]=meshgrid([-2:.4:2]);");
engEvalString(ep,"Z=x.*exp(-x.^2-y.^2);");
engEvalString(ep,"fh=figure('Position',[300 400 400 300],'Color','w');");
engEvalString(ep,"ah=axes('Color',[.8,.8,.8],'XTick',[-2 -1 0 1 2],'YTick',[-2 -1 0 1 2]);");
engEvalString(ep,"sh=surface('XData',x,'YData',y,'ZData',Z,'FaceColor',get(ah,'Color')+0.15,'EdgeColor','k','Marker','o','MarkerFaceColor',[.5 1 .75]);");

printf("成功绘制方格图!");

engClose(ep);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vs2008 matlab