• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

VC6.0中用matlab2009b

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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里统一实现调用,交互性更强吧。



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
初试 Matlab 之去除水印发布时间:2022-07-18
下一篇:
Matlab基本数学应用发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap