VC与MATLAB的混合编程

VC与MATLAB的混合编程

ID:41032683

大小:92.00 KB

页数:15页

时间:2019-08-14

VC与MATLAB的混合编程_第1页
VC与MATLAB的混合编程_第2页
VC与MATLAB的混合编程_第3页
VC与MATLAB的混合编程_第4页
VC与MATLAB的混合编程_第5页
资源描述:

《VC与MATLAB的混合编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、VC++与MATLAB接口编程方法与实现摘 要本文简介了VC++和MATLAB特点,探讨了MATLAB与VC++接口编程的三种方法,并详细论述了MCC和COM组件接口编程的方法和实现过程。研究表明:采用VC++和MATLAB接口编程方法降低了编程难度,较好地发挥了两者各自的优势。关键词MATLAB;VC++;MCC;COM;接口编程MATLAB是美国MathWorks公司研制开发的一种科学计算软件,它将高性能的数值计算、符号计算和可视化集成在一起,并提供了大量的内置函数以及功能丰富的工具箱,使用方便,编程效率高。然而,MATLAB是一种

2、解释性语言,运行效率低,不适合作为通用的编程平台。   VC++是Microsoft公司推出的一个基于Windows平台的可视化的集成开发环境,在运行速度、功能性以及应用程序界面开发方面功能强大,但在数值计算和图形绘制方面,VC++并不具备太多优势。因此,采用MATLAB进行核心程序的开发,用VC++制作出友好的程序界面,然后将两者结合起来,可以较大地提高编程效率。1 VC++与MATLAB接口方法概述1.1 MATLAB引擎方式   MATLAB引擎采用客户机/服务器(Client/Server)的方式,提供了一组MATABAPI函数

3、,通过调用这些函数实现以用程序进程之间的数据传递。在运用中,让VC++程序作为前端客户机,它向MATLAB引擎传递命令和数据,并从MATLAB引擎接受数据信息,实现动态通讯。1.2 MATLAB编译器(MCC)   MCC是MATLAB中经过优化的编译器。使用MCC,用户可以将MATLAB数学库、图形库和界面的MATLAB程序转化为独立于MATLAB的EXE应用程序和DLL动态连接库,在VC中编写程序界面并加载调用动态连接库,实现两者之间的连接。1.3 COM组件   组件对象模型(简称MCR)是以组件为发布单元的对象模型。它提供一种可

4、以共享二进制代码的工业标准,允许任何符合标准的程序访问,所以COM作为不同语言之间的协作开发是非常方便的。MATLAB的COM编译器是在MATLAB6.5中才开始提供的一个新工具,从MATLAB7.0起,这个产品改名为MATLABBuilderforCOM。基于COM的混合编程方法也是Mathworks公司推荐使用的方法。   以上三种方法中,采用MATLAB引擎方式,应用程序整体性能好,MATLAB引擎支持功能全面,但需要MATLAB后台运行,不能脱离MALAB环境。而 MCC方法和COM组件方法均可以脱离MATLAB环境,应用程序运

5、行效率高,利于软件的开发,本文将重点论述MCC和COM组件方法。2 MATLAB编译器(MCC)2.1 MATLAB与VC++接口配置   采用MCC方法需要对MATLAB和VC++接口设置,配置步骤如下:   1)MATLAB编译器配置   首先在MATLAB命令提示符下输入mbuild-setup命令,选择编译器,(需要注意的是必须确保计算机上已经安装了某个版本的VC++,本文选择visualC++6.0)完成编译器设置。   2)VC++环境设置   (1)设定头文件和库文件路径。在VC++环境菜单栏中选择Tools->Optio

6、ns->Directories,在“Showdirectoriesfor”栏中首先选择Includefiles,然后在“directories”中将ExternLibWin32MicrosoftMSVC++60添加进去。再次在“Showdirectoriesfor”栏中选择Librarysfiles,再在“directories”中添加ExternInclude。   (2)设置编译连接选项。在VC++环境菜单栏中选择Project->setting,然后选择lin

7、k选项卡,在object/librarymodules栏中添加mclmcrrt.liblibtest.lib;选择General选项卡,在MicrosoftFoundationClasses栏中选择UseMFCinaSharedLibrary。2.2 实例演示   完成MATLAB和VC++的接口设置以后,就可以实现MATLAB和VC++的接口编程,具体步骤如下:   1)编写M函数文件“mypascal.m”   functionm=mypascal(n)   m=pascal(n);   m=m';   示例M函数文件的作用是生成一

8、个n阶的帕斯卡矩阵并返回,Pascal矩阵特点:第一行和第一列的元素均为1,其他位置的元素是前方的元素和上方的元素之和。需要注意的是:由于MATLAB中矩阵存储方式是以矩阵的列为先,也就是数据从第一列开始逐

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

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

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