vc与matlab接口编程与实现.doc

vc与matlab接口编程与实现.doc

ID:30325847

大小:123.50 KB

页数:10页

时间:2018-12-29

vc与matlab接口编程与实现.doc_第1页
vc与matlab接口编程与实现.doc_第2页
vc与matlab接口编程与实现.doc_第3页
vc与matlab接口编程与实现.doc_第4页
vc与matlab接口编程与实现.doc_第5页
资源描述:

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

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

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

3、AB引擎采用客户机/服务器(Client/Server)的方式,提供了一组MATABAPI函数,通过调用这些函数实现以用程序进程之间的数据传递。在运用中,让VC++程序作为前端客户机,它向MATLAB引擎传递命令和数据,并从MATLAB引擎接受数据信息,实现动态通讯。1.2 MATLAB编译器(MCC)MCC是MATLAB中经过优化的编译器。使用MCC,用户可以将MATLAB数学库、图形库和界面的MATLAB程序转化为独立于MATLAB的EXE应用程序和DLL动态连接库,在VC中编写程序界面并加载调用

4、动态连接库,实现两者之间的连接。1.3 COM组件组件对象模型(简称MCR)是以组件为发布单元的对象模型。它提供一种可以共享二进制代码的工业标准,允许任何符合标准的程序访问,所以COM作为不同语言之间的协作开发是非常方便的。MATLAB的COM编译器是在MATLAB6.5中才开始提供的一个新工具,从MATLAB7.0起,这个产品改名为MATLABBuilderforCOM。基于COM的混合编程方法也是Mathworks公司推荐使用的方法。以上三种方法中,采用MATLAB引擎方式,应用程序整体性能好,M

5、ATLAB引擎支持功能全面,但需要MATLAB后台运行,不能脱离MALAB环境。而MCC方法和COM组件方法均可以脱离MATLAB环境,应用程序运行效率高,利于软件的开发,本文将重点论述MCC和COM组件方法。[我在书上看到还有一种方法:就是在vc中生成matlab可以调用的DLL程序:专用的接口函数mexFunction(intnlhs,mxArray*plhs[],intnrhs,constmxArray*prhs*prhs[]),的方式][有关mex的初探(一下内容来自网友博客http://hi

6、.baidu.com/wangyantsing/blog/item/c1cecfbf1333a20918d81f2f.html感谢)在matlab的自带编辑器中输入如下代码,并保存为fact.c,存在系统工作目录中。#include"mex.h"voidmexFunction(intnlhs,mxArray*plhs[],intnrhs,constmxArray*prhs[]){doublen,j,*p;inti;n=mxGetScalar(prhs[0]);plhs[0]=mxCreateDoubl

7、eMatrix(1,1,mxREAL);p=mxGetPr(plhs[0]);j=1.0;for(i=n;i>1;i--)j=j*i;*p=j;}这仅仅是一个求阶乘的简单的例子。然后,我在matlab中输入>>mexfact.c如果没有错误,一切都将十分正常,然后,我输入>>y=fact(5)将输出y=120][今天又在网上看到用matcom][ MATCOM转化法  MATCOM是MathWorks公司开发的为MATLAB中的M文件进行高效解释和调试的集成开发环境。MATCOM编译M文件,先将M文件

8、按照与MATCOM的cpp库的对应关系,翻译为cpp源代码,然后用C编译器将cpp文件编译成相应的exe或dll文件。  用MATCOM方式,生成的代码可读性好,支持图形函数,支持M文件编译过程中的文件嵌套情况,可脱离MATLAB环境;缺陷为待编译的M文件不能涉及MATLAB的内部类。  MATCOM转化法  以下介绍均以MATLAB6.5、MATCOM4.5、VC++6.0和WindowsXP为例进行说明。  MATLAB包括数学函数和工具箱函数,MA

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

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

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