vs2008 调用matlab 2013a引擎

最近做一个小项目,要用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;
}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值