5第五章VC与matlab接口教材.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
常用数学软件选讲;VC与matlab接口编程 ;VC与matlab接口编程 ;Matlab Engine方式 ;Matlab自带的Matlab Compiler;1、必须保证编译器的正确配置,因为编译器使用了C\C++库函数,所以在使用前需要使用 mex -setup 和 mbuild -setup 两个命令对编译器进行配置, 如果以前已经进行了配置就不 需要这一步。;mbuild -setup;8;2、设置头文件和库文件的路径,配置完成如图1和图2 ;3、在MATLAB打开文本编辑器(File-New-M-file)写一个简单的m函数: function y=huatu_test() x=-10:0.1:10; y=sin(x); plot(x,y,*) 文件保存为huatu_test.m。 4、在MATLAB命令窗口用如下命令生成dll文件和调用dll所需要的文件: mcc -t -W libhg:dlltest -T link:lib -h libmmfile.mlib huatu_test.m    生成的文件将会保存在当前目录下,默认的当前目录为:MATLAB根目录\work,找到dlltest.h 、dlltest.lib和dlltest.dll文件,这三个文件是我们需要的。 5、在VC中新建一个名为ceshi基于对话框的工程,在工程中添加一个名为测试的button按钮。将dlltest.h 、dlltest.lib和dlltest.dll文件拷贝到当前工程目录下,并通过Project-Add To Project-Files 选择拷贝到当前目录下的三个文件,将文件引入工程。 ;6、在ceshiDlg.cpp文件中添加头文件dlltest.h #include dlltest.h 打开dlltest.h文件,里面有有关函数的定义,找到其中三个函数: extern mxArray * mlfHuatu_test(void); extern void dlltestInitialize(void); extern void dlltestTerminate(void); 从函数意思不难知道它们的作用,dlltestInitialize用来初始化dll库,dlltestTerminate用来结束调用dll,mlfHuatu_test为主程序执行函数。将三个函数拷贝到button响应代码中,进行修改: void CCeshiDlg::OnButton1() { dlltestInitialize(); mlfHuatu_test(); dlltestTerminate(); };编译、执行程序,点击结果如图 ;可以看出,相比VC编写dll文件,利用MATLAB 编译器生成dll文件,以及在VC中调用该dll文件要方便和简单的多。利用编译器还可以根据需要生成C\C++源文件,可执行文件等。MATLAB6.5的编译器为3.0版本,MATLAB7.0的编译器为4.0版本,4.0版本的编译器对原编译器进行了很多改进,3.0很多方法都不再使用,上述方法如果在7.0版本上使用会出现错误。 利用mcc命令,通过不同的参数设置可以生成不同的文件,例如: mcc -B sgl myfun 将myfun.m文件生成对应的c文件和使用c图形库的可执行程序 mcc -B sglcpp myfun 将myfun.m文件生成相应的c++文件和使用c++图形库的可执行程序 (如果自己编写的程序图形不能显示菜单栏和工具栏,拷贝文件夹bin到当前目录下);利用编译器将m文件转换成对应的C\C++文件,并在VC中调用 ;Matcom 简介;相比Matlab自带的编译器Compiler,用Matcom转化代码要简单和方便 得多。 本节将以VC6.0和Matcom为例,详细介绍如何利用Matcom进行VC与Matlab的联合编程。   ;Matcom安装;安装完成后,启动界面MIDEVA(下图)。MIDEVA集成开发环境包括命令行窗口、变量列表窗口、命令列表窗口和编译链接信息窗口等几部分,并有详细的帮助文档 ;Matcom命令输入方法与Matlab相同。如果安装在中文版操作系统时,输入命令前加一空格。(下图);m文件编译后放入VC中 ;2、在VC中用MFC Wizard(exe)创建一个基于对话框名为Example的工程。 在面板上添加一个ID为IDC_BUTTON1按扭。 3、将C:\matcom45\Debug目录下的Test1.cpp文件的内容拷贝到 void CExamleDlg::OnButton1()下;4、将C:\matcom45\lib\下的matlib.h 和v4501v.lib文件和C:\m

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档