毕业设计57VB和MATLAB混合编程技术研究.docx
- 文档编号:24314557
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:58
- 大小:375.66KB
毕业设计57VB和MATLAB混合编程技术研究.docx
《毕业设计57VB和MATLAB混合编程技术研究.docx》由会员分享,可在线阅读,更多相关《毕业设计57VB和MATLAB混合编程技术研究.docx(58页珍藏版)》请在冰豆网上搜索。
毕业设计57VB和MATLAB混合编程技术研究
摘要
充分利用MATLAB强大的运算及显示功能和VB开发界面友好的特点,将二者有机结合,可以开发出复杂的、界面友好的人机交互处理软件。
重点介绍了应用VB和MATLAB进行混合编程的几种技术,熟练掌握这些技术,将使编程工作变得轻松自如。
VB和MATLAB的混合编程方法,通过建立VB和MATLAB间的ActiveX连接,实现VB应用程序中调用MATLAB,建立与MATLABActiveX服务器的连接。
该方法通过利用ActiveX技术、应用DDE与MATLAB通讯、使用MatrixVB、生成执行文件、编译动态链接库等步骤实现。
其MATLAB软件提供M函数编译为COM组件工具,使用该工具可方便制作出相关COM组件,以供其他支持COM的编程语言调用,实现MATLAB和其它编程语言的整合。
关键词:
VB,MATLAB,混合编程,ActiveX技术,DLL
ABSTRACT
FullyusingtheMATLABformidableoperationandthedemonstrationfunctionandtheVBdevelopmentcontactsurfacefriendlycharacteristic,thetwoorganicsynthesis,maydevelopcomplex,thecontactsurfacefriendlyman-machineinteractionprocessingsoftware.IntroducedwithemphasiscarriesonthemixprogrammingusingVBandMATLABseveralkindoftechnologies,mastersthesetechnologiesskilled,willcausetheprogrammingworkwillbecomerelaxedfreely.VBandtheMATLABmixprogrammingmethod,throughestablishesVBandtheMATLABActiveXconnection,realizesintheVBapplicationproceduretotransferMATLAB,theestablishmentandMATLABtheActiveXserver'sconnection.ThismethodthroughusingtheActiveXtechnology,usingDDEandtheMATLABcommunication,usesMatrixVB,theproductionexecutiondocument,stepsandsoontranslationdynamiclinkstorehousetorealize.ItsMATLABsoftwareprovidestheMfunctiontranslationistheCOMmoduletool,usesthistooltobepossibletofacilitatemanufacturesisrelatedtheCOMmodule,suppliesothertosupportCOMtheprogramminglanguagetotransfer,realizesMATLABandotherprogramminglanguageconformity.
KEYWORDS:
VB,MATLAB,hybridprogramming,ActiveXtechnique,DLL
前言
MATLAB是美国MathWorks公司研制开发的软件产品,他是当今世界上使用最为广泛的科学计算软件之一。
MATLAB具有强大、丰富的内置函数,以及高度灵活的可编程性,所以特别适合数据处理以及结果的图形化显示。
另外,MATLAB包含多种根据应用领域划分的工具箱,这些工具箱及大地扩展了MATLAB在这些领域的使用功能,其中应用最为广泛的工具箱包括数字信息处理、图像处理等。
现在,无论是在学术界还是在工业界,MATLAB逐渐成为大多数科研人员的首选计算语言,而MATLAB本身也逐渐成为一种工业界通用的计算语言。
一些工业产品的研究与开发已开始完全使用MATLAB,比如日本丰田汽车公司的引擎控制单元(ECU)系统的研发等。
在MathWorks公司的网站上可以看到更多关于MATLAB的工业应用实例。
尽管MATLAB在科学研究以及工业技术开发方面有着极为广泛的应用,但这并不意味着在解决实际问题时,MATLAB总是无往不利。
事实上,在某些情况下,完全使用MATLAB作为开发工具虽然能够完成任务,但它并不是最佳手段。
这里“最佳”的意义包括高效的程序开发过程、高效的程序执行速度,以及简单易行的程序部署方法等。
幸运的是,MATLAB提供了灵活而有强大的接口技术,使用者可以在MATLAB程序里调用其他语言编写的功能,比如可以把一些繁重的计算模块以C/C++或FORTRAN编写,然后利用MEX接口在MATLAB中调用这些模块,从而提高整个程序的执行效率。
另外也可以利用其他语言如C/C++和操作系统的密切联系,使得MATLAB能够调用操作系统提供的一些功能活着实现与硬件系统之间的通信,从而扩展MATLAB程序的功能。
MATLAB的另外一种接口则是如何在其它编程语言中调用MATLAB的数值计算和图形功能,从而加强应用程序的功能。
这种应用在工业界的使用比较广泛。
MATLAB提供C/C++编译器,可以方便地把M方程编译连接成可以在其他编程语言或者应用程序中使用的库函数。
VisualBasic是由微软公司开发的可视化编程语言之一,由于它简单易学的特点,只要稍有编程基础就可以很快掌握,可视化的用户界面设计功能,把程序设计人员从繁琐复杂的界面设计中解脱出来。
因而很快就风靡全球,是一种十分强大和有生命力Windows编程语言。
但是我们知道VB语言也有它的缺点,即对于数值计算方面其能力欠佳。
所以本论文主要介绍MATLAB和VisualBasic的混合编程技术研究,MATLAB与VisualBasic接口,有使用一般动态链接库、DDE、OLE、ActiveX和COM组件等多种方法。
我将在本论文中讲解MATLAB接口的相关知识,实现MATLAB和VisualBasic的混合编程,结合实例给大家一个直观和清晰地思路。
总之,MATLAB的接口技术可以让使用者不只局限于一种计算工具,这些接口技术使得人们可以更好的利用手中的工具,结合多个工具的长处,更好的解决问题。
如果使用者能够灵活、正确地使用各种接口技术,将会有助于他们找到针对实际问题的优秀的解决方案。
在结构方面,本论文基本上分为三个部分,第一部分提出问题,为什么要研究VB和MATLAB混合编程,并分别用两个例子实现功能进而比较两个语言的优缺点;第二部分介绍VB和MATLAB混合编程技术的方法;第三部分VB和MATLAB混合编程技术的实现,在这一章中我主要介绍了基于OLE的接口实现和COM组件的实现,并通过具体的示例演示给大家,简洁直观。
在每个章节的安排上,将首先讲述基础知识,以及使用中需要注意的事项。
相信将能够满足读者的需求。
第一章VisualBasic语言概述
首先我将分别介绍VisualBasic和MATLAB的相关知识,利用具体的操作体现两个软件的各自优势,为MATLAB和VisualBasic混合编程的技术研究做下直观的铺垫。
利用彼此的优势,避开缺点把两个软件很好的结合起来。
1.1VisualBasic语言的发展
Basic是BeginnersAll-PurposeSymbolicInstructionCode(初学者通用符号指令代码)的缩写,在高级语言中占有重要地位,是专门为初学者设计的计算机语言。
第一代Basic于1964年在Dartmouth学院由JohnKemeny和Thomas设计,由于它的语法很接近人类所使用的自然语言和数学表达式,只有十几条语句,简单易用,因而受到广大计算机初学者的喜爱,很快就得到广泛的应用;第二代Basic是在20世纪70年代中期到80年代中期出现的,其功能有了较大的扩充,应用范围更加广泛,主要有GW-Basic和Microsoft公司的Basic(MS-Basic);第三代Basic是在80年代中期出现的结构化的TrueBasic、QuickBasic、TurboBasic和QBasic;第四代就是VisualBasic。
VisualBasic(简称为VB)是美国Microsoft公司推出的、专门针对32位Windows操作系统的程序设计语言,它从Basic发展到VisualBasic,经历了二十多年的历程。
Visual指的是开发图形用户界面(GUI)的方法,VisualBasic在原有Basic语言的基础上进一步发展,至今包含了数百条语句、函数和关键词,其中很多都和WindowsGUI有直接关系。
专业人员可以用VisualBasic实现其他任何Windows编程语言的功能,而初学者只要掌握几个关键词,就可以建立实用的应用程序。
VisualBasic1.0版是1991年Microsoft公司推出的基于窗口的可视化开发工具,当时它的功能相对较少,也有一定的缺陷。
但Microsoft公司凭借其强大的技术优势,经过不断的努力,于1993年推出VisualBasic3.0,这个版本已初具规模,并进入了实用阶段,利用它可以快速创建图形用户界面和多媒体等应用程序。
1995年推出的VisualBasic4.0提供了强大的数据库管理功能,使之成为管理信息系统(MIS,ManagementInformationSystem)的重要开发工具。
而在1998年推出的VisualBasic6.0,则在开发环境和功能上都做了很大的完善、扩充和增强。
实践证明,VisualBasic以其简单易学、功能强大和面向对象编程的优势,已经发展为快速应用程序开发(RAD,RapidApplicationDevelopment)工具的代表,受到广大专业程序设计者和计算机爱好者的普遍欢迎。
1.2VisualBasic语言的基本特点
在可视化编程上,VisualBasic已成为新一代程序设计语言的杰出代表。
与传统的语言相比,VisualBasic在许多方面都有了重要的改革和突破,下面仅介绍最基本的特点。
(1)提供了好学易用的应用程序集成开发环境
VisualBasic的集成开发环境是在Windows平台上实现的。
在这个环境中,开发人员可以进行界面设计、代码编写和程序调试,直至可以把应用程序编译成可执行程序,在脱离VisualBasic的设计环境下直接运行。
这个开发环境支持整个面向对象开发的全过程,具有极大的方便性和高效性。
(2)面向对象的可视化设计工具
在VB开发环境中,应用了面向对象的程序设计方法,即把程序和数据封装起来,视为一个对象工具。
每个对象都是可视的,程序员在设计时,只需要根据设计界面的要求,利用现有的对象工具,直接在屏幕上设置不同的对象(如窗口、菜单、按钮或滚动条等),并为每个对象设置属性即可,而不需要编写大量的代码去描述界面元素的外观和位置(这也就是所说的“所见即所得”)。
通过对这些对象进行属性的设置和调整,就能改变对象的外观及动作的方式,这样用户可以方便地设计出美观、友好的界面,从而简化了界面设计的方法,大大提高了编程效率。
(3)事件驱动的编程机制
在设计好了用户界面后,就可以编写相应的程序了。
事件驱动是增强程序图形界面交互性的主要方法,是指利用用户的动作或行为控制程序运行的流向。
用户的每一个动作或操作行为都可产生一个事件(如用户的键盘或鼠标操作、系统消息、程序触发等),每个事件都可驱动一段程序的运行,程序员只需编写响应用户动作的代码即可。
这样编写的程序代码短、易编写、易维护、且对象之间的动作顺序可由程序的使用者灵活控制。
(4)结构化的程序设计语言
传统编程方法是面向过程的机制,程序是按事先设计的程序流程来运行。
程序间要求有严谨的逻辑关系,且程序长、难编写、难维护。
而VB系统提供了丰富的数据类型、众多的内部函数、子程序、时间子程序和自定义函数等模块,各个子程序模块之间彼此独立,也可以相互联系,从而形成了结构化程序,简单易学。
(5)支持多种数据库访问系统
VisualBasic可以利用数据控制或通过ODBC访问数据库,获得后台的数据源支持,从而使VisualBasic前台的界面与数据处理功能结合起来,扩大VisualBasic的应用范围。
VisualBasic可以访问的数据库主要有Access、dBASE、FoxBASE、Paradox等,也可以访问MicrosoftExcel、Lotus1-2-3等多种电子表格。
VisualBasic还可以利用对象的连接与嵌入技术(OLE),开发出具有图、文、声、像、Web等对象合成的应用程序,并可以方便地使用标准的Active部件,调用标准的接口,用于Web或其他支持这一技术的程序中。
VisualBasic采用了部件编程的思想,在VisualBasic中创建的部件可以自用,也可以在其他开发环境(如VC++)中使用,还可以引用其他开发工具建立的部件。
由于具有接口继承性,所以通过部件编程,可以在VisualBasic中实现代码重用。
在数据库应用方面,增加了ADO功能,VisualBasic不仅可以支持本地数据库,而且可以连接远程数据服务器,大大增强了数据处理能力;在Internet应用方面,VisualBasic可以通过文档或程序访问Internet,创建Internet服务器应用程序,支持DHTML(动态HTML技术)和Web程序发布等。
(6)OLE和Active技术的应用
OLE(ObjectLink&Embed)技术是指对象的链接与嵌入技术,能够用于开发集声音、图像、动画、字处理和Web对象等于一体的应用程序等。
Active技术可以使开发人员摆脱特定语言的束缚,方便地使用标准的Active部件,调用标准的接口,实现特定的功能。
OLE技术是VB的核心,Active是OLE的发展。
(7)增强的网络功能
VisualBasic最重要的新特性之一,是提供了DHTML(DynamicHTML)设计工
具。
这种技术可以使Web页面设计者动态地创建和编辑界面,使用户能够在VB中开发出多功能的网络应用技术。
(8)多个应用程序向导
VB的应用程序向导可以自动创建不同类型、不同功能的应用程序,其中包括应用程序向导、安装向导、数据对象向数据窗体向导、IIS应用程序和DHTML等。
(9)完备的联机帮助系统
与Window环境下的软件一样,在VB中随时可以利用菜单或[f1]功能键得到所需要的帮助信息。
帮助窗口的信息和示例代码可以进行复制、粘贴、为用户学习和使用VB提供了捷径。
1.3VisualBasic语言的应用实例
一般来说,在VisualBasic中,按照下列步骤操作即可轻松地编辑出一个简单的VisualBasic程序:
(1)利用工具箱中的工具创建面向使用者的输入输出界面。
(2)设计控件属性值。
(3)编写代码。
下面以一个简单的范例,说明上面三个步骤的操作方法。
进入VisualBasic集成开发环境
要创建VB应用程序,首先要进入VisualBasic6.0的集成开发环境,具体操作步骤如下:
(1)单击“开始”|“所有程序”|“MicrosoftVisualBasic6.0中文版”
|“MicrosoftVisualBasic6.0中文版”命令,将弹出“新建工程”对话框,如图所示
.
图1.1“新建工程”对话框
(2)双击“标准EXE”图标,新建一个标准文件工程,将弹出如图1.2所示的VisualBasic的IDE集成开发环境。
、
图1.2VB6.0的集成开发环境
(3)添加控件Lable1、Lable2、Text1、Command1、Command2
图1.3Form窗体
(4)在属性窗口设定各控件的属性如表1.1:
表1.1控件属性表
控件名称
控件类型
属性
属性内容设定
Form1
窗体
Name(名称)
Form
Caption(标题)
欢迎问候程序
Lable1
标签
Caption(标题)
姓名:
Font/字体大小
12
Lable2
标签
Caption(标题)
空白
Font/字体大小
12
Text1
文本框
Text(文字)
空白
Font/字体大小
12
Command1
命令
按钮
Caption(标题)
执行
Font/字体大小
18
Command2
命令
按钮
Caption(标题)
结束
Font/字体大小
18
图1.4更改属性完成
(5)编辑代码,要进入代码窗口,可以使用以下四种方法中的一种:
●单击“视图”|“代码窗口”命令。
●在控件上单击鼠标右键,在弹出的快捷菜单中选择“查看代码”选项。
●直接在控件上双击鼠标右键。
●在工程资源管理器中单击
按钮。
执行以上任意一种操作,都将打开如图1.5所示的代码窗口,并输入代码。
图1.5代码编辑框
(6)当代码编译完毕后,最好先将文件保存,然后再执行程序,下面将上面编辑好的“欢迎问候程序”程序先保存再执行一次,按F5键执行。
执行结果如图1.6所示:
图1.6执行结果显示
1.4总结VisualBasic语言的优缺点
由上面的例子可以看出VisualBasic的优点就是简单易学且功能丰富,能够迅速有效的编制优良的可视化界面,同时避开了C++编程中的过分繁琐和抽象的特点,因而一经推出就成为Windows平台上的主力编程语言之一。
VB的缺点在于运算速度慢,不适合进行大型的数值计算和图形处理,使其在一些专业领域方面不能得到充分的利用。
为了增强VisualBasic的运算能力,我们要研究MATLAB和VisualBasic的混合编程,扬长避短,把两个软件有效地结合起来。
下面我们来认识一下MATLAB7.0.1,了解一下MATLAB的优缺点,从而比较两个软件,更好的把两个软件运用起来。
第二章MATLAB的概述
2.1MATLAB的简介
实践的需要推动了科技的发展,从而促使了社会的进步。
由于与数学经常打交道的科学家、工程技术人员在实际工作中大量数学计算的需要,便促使了具有数值计算强大功能和卓越的数据可视化能力的计算机高级语言MATLAB的出现。
MATLAB是在20世纪80年代初期,由美国的MathWorks软件开发公司正式推出的一种数学工具软件。
MATLAB软件以矩阵运算为基础,把计算、可视化、程序设计有机地融合到了一个简单易学的交互式工作环境中,其出色的数值计算能力和强大的图形处理功能得到了广大科研人员和工程技术人员的垂青。
MATLAB拥有功能全面的函数库,它把大量的函数封装起来,让用户脱离了繁琐复杂的程序设计过程,只需要将精力集中到模型建立的工作上即可,大大提高了工作效率。
MATLAB系统由MATLAB内核和其辅助工具箱组成。
MATLAB内核是由大量的内部函数及用户自定义的函数构成。
通过对这些函数的调用,可以简便地处理具体的技术问题。
利用MATLAB可以实现科学计算、符号运算、算法研究、数学建模和仿真、数据分析和可视化、科学工程绘图以及图形用户界面设计等强大功能。
MATLAB经过这些年的不断更新,交互性越来越好,功能也变得越来越强大。
现在,MATLAB软件已经成为了国际上应用最广泛的、公认的最优秀的数学应用软件之一。
MATLAB为用户提供了丰富而实用的资源,它涵盖了许多门类的科学研究,如数学、控制、通信、数字信号处理、数字图像处理、经济和地理等。
这极大地方便了社会上各个行业的科技工作者。
在国外的大学中,MATLAB是学生必须要掌握的一种基本技能。
近年来,它已经由最初在科研单位和高等院校中的仿真研究,逐渐普及到了具体工业部门中被用来解决实际具体问题。
在国内最近几年也正由于MATLAB本身的巨大优势而兴起了学习MATLAB、应用MATLAB的高潮。
2.2MATLAB的主要功能
MATLAB中的核心是一个基于矩阵运算的快速解释程序。
它以交互式操作接收用户输入的各种指令,输出计算结果。
它提供了一个开放式的集成环境,用户可以运行系统所提供的各种命令,来实现自己所要达到的目标操作。
具体地说来,MATLAB的主要功能有:
强大的数值运算功能;数据可视化功能;动态系统仿真;数据处理;数学计算;数字信号处理及与外部应用程序(C和Fortran)进行动态链接等。
MATLAB在数值运算上有其独到之处,不仅如此,它还提供了非常丰富的图形处理功能,对数值计算的结果进行图形化处理,进一步方便了用户操作,深化了用户的数值处理,而且,MATLAB还提供了句柄这一功能非常强大的面向对象的图形系统概念,实现了对图形更深层次的操作。
更重要的是,MATLAB提供了图形用户界面(GUI)设计功能,用户可以自行设计别具风格的人机交互界面。
此外,MATLAB提供了与C语言或Fortran语言的交互操作,使用户能通过程序接口很方便地进行程序间的调用和转换。
MATLAB有着功能强大、丰富的函数工具箱,这是整个MATLAB语言得以如此快速发展的重要因素之一。
这些函数工具箱大致可以分为两大类:
功能型工具箱和领域型工具箱。
功能型工具箱提供了对内核的支持,它主要用来扩充MATLAB的符号计算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能,属于MATLAB自身系统,可以用于多种学科。
而领域型工具箱是专业性很强的学科研发性工具箱,应用于不同的学科。
2.3MATLAB的特点
MATLAB语言有以下五个特点:
1.起点高
(1)每个变量代表一个矩阵,它有n*m个元素。
从MATLAB名字的来源可知,它以矩阵运算而见长,在当前的科学计算中,几乎无处不用矩阵运算,这使它的优势得到了充分的体现。
(2)每个元素都看作复数。
这个特点在其他语言中也是不多见的。
(3)所有的运算都对矩阵和复数有效,包括加、减、乘、除、函数运算等。
2.人机界面适合科技人员
(1)语言规则与笔算式相似。
MATLAB的程序与科技人员的书写习惯相似,因而易写易读,易于在科技人员之间交流。
(2)矩阵行列数无需定义。
要输入一个矩阵,用其他语言时必须先定义矩阵的阶数,而MATLAB则不必用结束定义语句。
输入数据的行列数就决定了它的阶数。
(3)键入算式立即得结果,无需编译。
MATLAB是以解释方式工作的,及它对每条语句解释后立即执行,若有错误也立即作出反应,便于编程者马上改正。
这些都大大减少了编程和调试的工作量。
3.强大而简易的作图功能
(1)能根据输入数据自动确定坐标绘图。
(2)能规定多种坐标系(极坐标,对数坐标等)
(3)能绘制三维坐标中的曲线和曲面。
(4)可设置不同颜色、线型、视角等。
如果数据齐全,通常只需一条命令即可出图。
4.智能化程度高
(1)绘图时自动选择最佳坐标以及自动定义矩阵维数。
(2)作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 57 VB MATLAB 混合 编程 技术研究