浅析vc与matlab接口编程(一)

浅析vc与matlab接口编程(一)

ID:9251093

大小:2.36 MB

页数:78页

时间:2018-04-25

浅析vc与matlab接口编程(一)_第1页
浅析vc与matlab接口编程(一)_第2页
浅析vc与matlab接口编程(一)_第3页
浅析vc与matlab接口编程(一)_第4页
浅析vc与matlab接口编程(一)_第5页
资源描述:

《浅析vc与matlab接口编程(一)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、浅析VC与matlab接口编程(一)作者:孙科  除了使用MATCOM之外,matlab与vc的混合编程还有其他的几种方法:1通过matlabengine方式。此种方法需要在机器上安装matlab软件,而且执行效率低,因此在实际应用中不常采用这种方法,在软件开发中也不可行,比较适合个人使用或做演示用。2直接调用matlab的c/c++数学函数库。vc中可以直接使用matlab提供的c/c++数学函数,此方法需要对c/c++语言非常熟悉。3用matlab自带的matlab78compiler.此种方法有很多限制:(1

2、)不能转换脚本m文件,只能转换m函数;(2)不能使用matlab对象;(3)不能用input或者eval操作matlab空间变量;(4)不能动态的命名变量,然后用load或者save命令来操作,不能对使用load指令装载普通文本文件的m文件操作;(5)不能处理具有嵌套调用其他m文件的m文件;(6)不能使用matlab内联函数(7)不能对使用了java接口的matlab代码文件使用4使用matlab的combuild工具:该方法简单,通用性强,几乎可以使用matlab的任何函数,因此在程序较大,调用函数较多时使用起来

3、效果很好,此方法也是mathworks公司推荐的使用方法;5使用matcom工具。相比其他方法而言,有下列优点:(1)转换过程简单,容易实现;(2)可以方便的生成dll和exe文件;(3)不仅可以转换独立的脚本文件,也可以转换嵌套的脚本文件;(4)设置环境后,可以使用matlab工具箱函数;其缺点是:(1)对struct等类的支持有缺陷;(2)部分绘图语句无法实现或得不到准确的图像,尤其是三维图像。在不涉及到三维作图以及m文件不大的情况下,使用效果很好。Matcom是mathTools公司推出的一个能将M文件转化成

4、相同功能C++代码的工具。相比Matlab自带的编译器Compiler,用Matcom转化代码要简单和方便78得多。本文将结合作者编程经验,以VC6.0和Matcom为例,详细介绍如何利用Matcom进行VC与Matlab的联合编程。MATCOM编译M文件,先将M文件按照与MATCOM的cpp库的对应关系,翻译为cpp源代码,然后用C编译器将cpp文件编译成相应的exe或dll文件。用MATCOM方式,生成的代码可读性好,支持图形函数,支持M文件编译过程中的文件嵌套情况,可脱离MATLAB环境;缺陷为待编译的M文件

5、不能涉及MATLAB的内部类。  Matcom安装:安装Matcom前要求已安装VC6.0。在安装过程中出现选择编译器对话框,选择“是”(图一)。出现选择是否安装Matlab时,选“否”。其他选项采用默认设置。Matcom可以独立于Matlab运行,但需要外部的C++编译器,指定Matlab的位置是为了让编译文件中需要的一些系统函数找到路径用的。图一78安装完成后,启动界面MIDEVA(图二)。MIDEVA集成开发环境包括命令行窗口、变量列表窗口、命令列表窗口和编译链接信息窗口等几部分,并有详细的帮助文档。图二Ma

6、tcom命令输入方法与Matlab相同。如果安装在中文版操作系统时,输入命令前加一空格。(如图三)。                  图三78下面详细介绍如何将m文件编译后放入VC中。1、启动MIDEVA,File->New,新建如下Test1.m文件:x=1:0.1:10;y=sin(x);plot(x,y);将文件保存(如图四)。78    图四m文件保存的默认位置为:matcom安装目录matcom45,生成的C++文件保存的默认位置为:matcom安装目录matcom45Debug,本例matco

7、m安装目录为C盘即C:matcom45Debug,在该目录下将会产生Test1.h、Test1.cpp、Test1.r、Test1.obj文件。2、在VC中用MFCWizard(exe)创建一个基于对话框名为Example的工程。在面板上添加一个ID为IDC_BUTTON1按扭。783、将C:matcom45Debug目录下的Test1.cpp文件的内容拷贝到voidCExamleDlg::OnButton1()下,(如图五)。            图五4、将C:matcom45lib下的matl

8、ib.h和v4501v文件和C:matcom45debug下的Test1.h文件拷贝到工程Example目录下,然后在VC中将库文件和头文件加入到工程中:工程->添加工程->Files,选择刚刚拷贝到Example目录下的matlib.h、v4501v和Test1.h文件(如图六)。78         图六5、在ExamleDlg.cpp中加入如下代码

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。