预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

万方数据 VC++与MATLAB混合编程技术研究Multi—languageMatlabProgrammingResearchTechnologyofVC++with第28卷第9期计算机工程2002年9月他9·开发研究与设计技术·Y咖fei.LIN微软公司的Vc++作为一种cH语言的开发平台广受用具有c和“+语言强大的编程处理能力,使得使用Vc++开发1利用Matlabi§l擎—269—Computer郭虹,薄云飞,林冬搞要:论述了在V“+环境下如何充分利用Matlab强大的数据分析处理和数学计算的功日B进行混台编程的问题,以期达到简单、快速进行软关t词:Matlab.V“十onMatlab作为当今世界上应用最为广泛的数学软件,具有非常强大的数值计算、数据分析处理、系统分析、图形显示甚至符号运算的功能。它是一个完整的数学平台,在这个平台上.用户只需寥寥数语就可以完成十分复杂的功能,大大提高丁工程分析计算的效率。但是Matlab强大的功能只能在它所提供的平台上才能使用,即用户必须在安装Matlab系统的机器上才能执行+m文件。这样当用户需要在Matlab下已开发完毕的复杂算法应用到高级语言开发环境下时就带来了问题,是特现成的东西集成高级语言开发的程序中呢?还是用高级语言再重新实现一遍?显然大家所期望的是减少工作罱,最好能将Matlab下开发好的程序或函数直接应用到高级语言开发的程序中,这就是Matlab与高级语言的混合编程问题。解决这个问题,不仅能更好地发挥Matlab强大的功能,还能快速地避行软件开发,尤其是当软件开发中需要实现复杂的数学算法时尤为迫切。户的欢迎和好评,其具有时下较为流行的可视化开发软件的所有特点,能够Jf发出功能强大、界面友好的软件,其本身的用户越来越多。在工程科研领域,人们常采用Matlab进行复杂的算法研究,有时需要将Matiab开发好的算法运用到Vc++所开发的程序中,如何将vc++与Matlab进行有效的混合编程广受工程科研人员的关注。作者对掘台编程技术进行了深入,细致的研究.有如下3种方法町行。该方法采月{客户和服务器计算方式,利用Matlab弓l擎将Matlab和vc++联系起来。在运用中,Vc十+环境下开发的程序作为客户端,Matlab作为本地的服务器。Vc++程序向Matlab日.1擎传递命夸和数据信息,并从matlabi31擎接收数据信息。Matlab引擎提供了如下几个函数:engOpen,engclose与客户进行交互。作为示例,给出一段Vc++代码,示范如何启动Mat/ab引擎,Vc++程序和Mallab如何进行数据交换,如何利用Matlab强大的图形处理功能进行三维图形的显示。(1)条件1以上版本Vc++5.0以上版本(2)出于用到Matlab=JI擎,需要在用到引擎的+.cpp文件中加入“engineh”和“mathh”两个头文件,并对Vc++的环境进行设置:选择Tools菜单的options项,在Directories选项卡中对Includefiles增J/1]engineh所在的具体路径。(3)使用Matlab,JI擎Ⅳ因而需要将传递给Matlab的数据转化为Mat№所能接受的形式创建V01.28EngineeringSeptember2002文章编号:1000--3428(2002)09--0269--03文献标识码:A中圈分类号:TP(信息工程人学信息技术学院,郑州450002)件开发的目的n介绍yVC++-与Matlab混台编程的3种方法,并对几种方式进行特点分析和比较,提出了较为有效和方便的打式。很台编程,引擎,MATCOMlprogrammingMatlah,introducesmethodswordslMaflab;Vc++;Multi-languageprogramming;Engine;MATCOMMarlabvoidCSpaceArrayView::OnUseMadabEn#ne(CSpaceArrayDocⅣ打开Maflab日[擎.建立畸本地Matlab的连接∥需要传递给Mathb进行操作的数据for0=0;j<900++)Ⅳ因为Matlab所能接收的数据都是以矩阵的形式进行组织的,,/矩阵,对应Matlab输入数据的对象作者倚介:郭虹(1975~),女,硕士、助教,主要研究方向为数字信垮处理、阵列信号处理;薄云飞、林冬,领七、讲师收稿日掰:2001—10-23GUOHong.BODong(InformationInformationUniversit,,Zhengzhou[Ahstractmulti-languagedemonstration.Finally,itcompares【KeyengGetArray,engPutArray,engEvaStrin