• VC6.0中用matlab2009b


    1)通过菜单工程/选项,打开设置属性页,进入 Directories 页面,在目录下拉列表框中选择Include files,添加路径:"C:\matlab\extern\include"(假定 matlab 安装在C:\matlab 目录) 。 
    2)选择 Library files,添加路径:C:\matlab\extern\lib\win32\microsoft\msvc60。 
    3)通过菜单工程/设置,打开工程设置属性页,进入 Link 页面,在 Object brary modules编
    辑框中,添加文件名 libmx.lib libmat.lib libeng.lib

    不过出现了.dll文件找不到的问题,慢慢解决!

    解决方法:把D:\matlab2009\bin\win32加入环境变量,还必须重启,这时候才解决。

    随便对一个button写个点击事件:

    添加代码:

    void CMatlabVC1Dlg::OnButton1() 
    {
    	// TODO: Add your control notification handler code here
    Engine *ep;
    
    MessageBox("单击确定按钮,启动Matlab引擎!","start");
    
    if(!(ep=engOpen("\0")))
    
    {
    
    MessageBox("Matlab引擎启动失败!","falure");
    
    
    }
    
    MessageBox("成功启动Matlab引擎,下面绘制方格图!","start");
    
    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]);");
    
    MessageBox("成功绘制方格图!","绘图");
    
    engClose(ep);
    }
    

      ctrl+F5:

    ok,出结果,不过相当的慢,因为必须启动mtalab,在matlab里运行结果,然后显示:

    就显示个这个图,因为前期代码用C++写的,现在到后期用matlab明显更轻松,而且即便而二者分离也能完成功能实现,而现在只不过是想在MFC里统一实现调用,交互性更强吧。


  • 相关阅读:
    iOS7——UIControlEventTouchDown延迟响应问题
    View.setTag(key,object)异常:The key must be an application-specific resource id.
    为什么阿里巴巴规定禁止超过三张表 join?
    四种常见的系统架构,目前你处于哪个阶段呢?
    JAVA BigDecimal的相加(累加)
    MyBatis中Like语句使用方式
    mybatis传参的几种方式
    英语说话方式思维和汉语说话的区别
    EXTJs前端传值的几种方式
    oracle+MyBatis批量导入sublist
  • 原文地址:https://www.cnblogs.com/xiangshancuizhu/p/2153776.html
Copyright © 2020-2023  润新知