第一章、MATLAB语言概述.doc
《第一章、MATLAB语言概述.doc》由会员分享,可在线阅读,更多相关《第一章、MATLAB语言概述.doc(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章 MATLAB概述1.1 MATLAB是21世纪的科学计算软件在科学研究和工程应用等领域中会涉及到大量的科学计算问题,自从计算机出现以来,人们就一直在使用计算机这个有力的工具帮助解决科学计算问题,并由此发明了许多用于科学计算的程序语言,如BASIC、FORTRAN、C等等。随着时代的变化、随着计算机的普及和快速发展,计算机程序语言在不断地变化发展、在不断地推陈出新。在当今时代,什么程序语言是最流行的科学计算语言呢?答案是MATLAB语言。MATLAB之所以能够成为最好的和最流行的科学计算语言,是因为它具有强大的科学计算及数据处理能力和出色的图形处理功能等特点。1.1.1 MATLAB具有
2、强大的科学计算及数据处理能力MATLAB拥有600多个工程中要用到的数学运算函数,可以方便地实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而且经过了各种优化及容错处理,因此使用起来稳定性和可靠性非常高,在通常情况下,可以用它来代替底层编程语言,如C和C+等。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB函数所能解决的问题包括矩阵运算、多维数组操作(阵列运算)、复数的各种运算、三角函数和其他初等数学函数运算、非线性方程求根、线性方程组的求解、微分方程及偏微分方程组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏
3、矩阵运算、建模和动态仿真等等。1.1.2 MATLAB具有出色的图形处理功能在科学计算中,往往需要用各种图形把数值计算的结果形象地表现出来,以帮助人们更好地理解、认识和发现其中的科学规律。MATLAB不仅提供数值计算功能和符号运算功能,而且自诞生之日起就具有方便的数据可视化功能,使计算结果的可视化要求得到充分满足。MATLAB在二维曲线和三维曲面的绘制和处理等方面的功能比一般数据可视化软件更加完善,在一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等)方面也表现得非常出色。在MATLAB 6.x中有一个对图形对象属性进行设置的图形属性编辑界面,该界面比 MATLAB 5
4、.x中的界面功能更为全面,操作也更为方便。MATLAB 6.x对图形的输出也做了适当的改进,提供了更为丰富的属性设置,以提高图形输出的效果。对一些特殊的可视化要求,例如图形动画等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外,新版本的MATLAB还着重在图形用户界面(GUI)的制作上做了很大的改善,对这方面有特殊要求的用户也可以得到满足。MATLAB将数值计算功能、符号运算功能和图形处理功能高度地集成在一起,在数值计算、符号运算和图形处理上做到了无缝的衔接,极大地方便了用户,这是它在科学计算中能得到广泛应用的重要原因之一。1.1.3 MATLAB程序语言简单易用早期用于科学计
5、算的计算机语言,由于计算机内存容量和运算速度的限制等原因,常常要定义常量、变量、向量和矩阵等的不同的数据类型,结果导致编程过于复杂化。和这些语言不一样,MATLAB语言对他们进行了高度抽象,实现了数据类型的高度统一,即常量、变量、向量和矩阵等都具有相同的数据类型。MATLAB语言认为所有的数据都是一个对象类,都具有相同的属性。因此,用户不需要事先分别定义常量、变量、向量和矩阵等的数据类型就可以直接使用他们(当然MATLAB的这种设计思想是以高性能计算机的出现和普及作为前提条件的),编程得到了很大简化。例如,在MATLAB中,基本的计算单元用复双精度矩阵来表示,其大小是n行m列,矩阵各数据元素存
6、放在两个双精度向量中,一个存放实部数据(指针pr指向它),另一个存放虚部数据(指针pi指向它)。如果是实数,则复双精度矩阵中pi为空。复数或实数则可以理解为11的矩阵。MATLAB语言是一种“数学形式的语言”,它的操作和功能函数指令就是用平时计算机和数学书上的英文单词和符号来表达的,比BASIC、FORTRAN和C等语言更接近于人们书写的数学计算公式、更接近于人们进行科学计算的思维方式,用MATLAB语言编写程序犹如在演算纸上排列公式与求解问题,故有人称MATLAB编程语言为“演算纸”式科学算法语言。因此,MATLAB语言简单自然,学习和使用更容易。MATLAB程序文件是一个纯文本文件,扩展名
7、为.m,用任何字处理软件都可以对它进行编辑。MATLAB本身就像一个解释系统,对其中的函数程序的执行以一种解释执行的方式进行,程序不必经过编译就可以直接运行,而且能够及时报告出现的错误,进行出错原因分析。因此,程序调试容易、编程效率高。MATLAB的用户界面精致,接近Windows的标准界面,人机交互性强,操作简单。新版本的MATLAB提供了完整的联机查询、帮助系统,极大地方便了用户的使用。例如,在开发环境中,MATLAB 6.x提供了强大的帮助功能,几乎所有的帮助都能以在线帮助的形式出现,同时也提供了一种全新的帮助浏览器,更加方便用户获得所需要的信息。与MATLAB 5.x相比,MATLAB
8、 6.x改进了原有的系统结构,将各种对MATLAB应用提供支持的系统集成为全新的MATLAB开发环境,其中最为明显的就是,集各种对MATLAB文件、数据变量进行操作的工具以及MATLAB自身的辅助工具为一体的MATLAB桌面系统。该桌面系统就是用户对MATLAB操作的面板。从开始应用MATLAB到退出MATLAB,几乎所有具体的操作都将在桌面系统内完成。1.1.4 MATLAB功能强大MATLAB为许多专业领域开发了功能强大的模块集或工具箱(一般都是由这些领域的专家们开发的),用户可以直接使用这些工具箱而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸
9、如概率统计、NAG和偏微分方程求解、样条拟合、优化算法、模糊逻辑、工程规划、模型预测、模型处理、神经网络、数据采集、交流通信、DSP与通讯、数字信号处理、小波分析、光谱分析、图像处理、系统辨识、控制系统设计、非线性控制设计、鲁棒控制、QFT控制设计、LMI控制、实时工作、数据库接口、金融分析、金融管理、地图工具、嵌入式系统开发、实时快速原型及半物理仿真、定点仿真、电力系统仿真等等,都在工具箱(Toolbox)家族中有了自己的一席之地。在模型化和系统级仿真方面,MATLAB开发了分支产品Simulink,主要用来实现对工程问题的模型化和动态仿真。Simulink体现了模块化设计和系统级仿真的具体
10、思想,使得建模仿真如同搭积木一样简单。Simulink对仿真的实现可以应用于动力系统、信号控制、通信设计、金融财会及生物医学等各个领域的研究中。MATLAB留有与其它实用的程序接口。MATLAB可以方便地与FORTRAN,C等语言接口,以充分利用各种资源。用户只需将已有的EXE文件转换成MEX文件,就可以方便地调用有关程序和子程序。新版本的MATLAB可以利用MATLAB编译器和CC+数学库和图形库,将自己的 MATLAB程序自动转换为独立于MATLAB运行的C和C+代码。MATLAB还和符号运算最为强大的工具软件Maple有很好的接口,这也大大扩充了MATLAB的符号运算功能。此外,在MAT
11、LAB 6.x中增加了与Java的接口,并为实现两者的数据交换提供了相应的函数库。1.1.5 MATLAB开放性强MATLAB强大的功能与其开放性设计思想是分不开的,正是这种开放性设计思想,增强了MATLAB强大的生命力。MATLAB对函数程序的执行是以一种解释的方式进行的,MATLAB完全成了一个开放的系统,用户可以方便地看到函数的源程序,也可以方便地开发自己的程序,甚至创建自己的“库”。在工具箱方面,该公司本身就推出了30多个应用工具箱,而世界上超过200家公司开发出与MATLAB兼容的第三方产品,这些产品向用户提供更多的工具箱、模块集、与其他商业产品的接口等。MATLAB是一个开放的环境
12、。全世界各地,特别是许多大学都建立了MATLAB学习研究小组,他们也通过互联网交流学习心得和经验,MathWorks公司特别鼓励这种交流,以丰富和扩展MATLAB的使用范围。目前,MATLAB 7.0版本已经面世,其功能和使用便捷程度又有了很大提高。MATLAB的相关书籍超过涉及19种不同文字600种。由于MATLAB具有以上其他计算语言无法比拟的优势,在美国及其他发达家的理工科院校里,MATLAB已经成为了一门必修的课程,是攻读学位的大学生、硕士生和博士生必须掌握的基本工具。在科研院所、大型公司或企业的工程计算部门,MATLAB也是最为普遍的计算工具之一。由此可见,MATLAB就是21世纪真
13、正的科学计算语言。1.2 MATLAB软件的发展历史MATLAB是由MATrix和LABoratory两个词的前三个字母组合而成的,含义是矩阵实验室。它是MathWorks公司于1984年推出的一套高性能的数值计算和数据可视化数学软件。20世纪70年代,Cleve Moler和他的同事在美国国家自然科学基金的资助下研发了调用LINPACK和EISPACK的FORTRAN子程序库,这两个程序库是用于解线性方程和矩阵特征值问题的,代表着当时矩阵计算软件的最高水平。后来Cleve Moler在新墨西哥大学给学生开线性代数课程时,用业余时间为学生编写使用方便的LINPACK和EISPACK的接口程序,
14、并给这个接口程序取名为MATLAB。Cleve Moler先后到多所大学讲学,MATLAB逐渐为人们所接受并成为应用数学界的术语。当Cleve Moler 1983年到斯坦福大学访问时,工程师John Little就意识到MATLAB将会在工程计算领域里大有作为,于是他与Moler及Steve Bangert等人一起合作开发了第二代专业版MATLAB。从这一代开始,MATLAB的核心就采用C语言编写,并且MATLAB除了具有数值计算的功能以外,还具备了数据可视化的功能。1984年,Mathworks公司成立,把MATLAB推向了市场,并继续MATLAB的研制和开发。1993年,MATLAB的第
15、一个Windows版本问世,同年,支持Windows 3.x的MATLAB 4.0版本推出。4.0版本做了很大的改进,如增加了Simulink,Control, Neural Network,Optimization,Signal Processing,Spline,State-space Identification,Robust Control,Mu-analysis and synthesis等工具箱。1993年11月,Mathworks公司又推出了MATLAB 4.1版本,首次开发了Symbolic Math符号运算工具箱,其升级版本MATLAB 4.2c在用户中得到广泛的应用。199
16、7年,MATLAB 5.0版本问世了。相对于MATLAB 4.x版本,它是真正的32位运算,功能强大,数值计算加快,图形表现有效,编程简洁直观,用户界面十分友好。2000年下半年,Mathworks公司推出了MATLAB 6.0(R12)的试用版,2001年初推出了正式版。2002年7月又推出了他们的最新产品MATLAB 6.5(R13),Simulink升级到5.0版本。MATLAB 6.5提供了JIT程序执行加速器,大大提高了程序的执行速度。本教程主要以MATLAB 7.0为蓝本,简明介绍MATLAB语言的数值计算功能、绘图功能和在数值计算方法中的应用等内容。1.3 MATLAB软件的组成
17、MATLAB软件是一个大家庭,有许多成员,包括应用程序开发工具、工具箱(Toolbox)、数据存取工具、模块集、状态流图、代码生成工具、学生产品等。应用程序开发工具包括MATLAB编译器、C/C数学库、MATLAB运行服务器、MATLAB Web服务器,这些工具可以建立和发布独立于MATLAB环境的应用程序(需要编译)。工具箱实际上是一些高度优化并且是面向专门应用领域的一系列MATLAB函数(称为M文件)的集合,它可用来求解各类学科的问题。仅随软件提供的工具箱可支持的领域就有信号处理、图像处理、控制系统设计、最优化、金融工程、符号数学、神经网络、系统辩识等等。工具箱的最大的特点是它的开放性,几
18、乎所有函数都是用MATLAB语言写成的(只有少数工具箱的某些函数是使用C语言写成的动态库函数),因而可以直接阅读和加以改写,用户也可以自行开发适合特定领域的工具箱。数据存取工具提供了从外部数据源获取数据的简易途径,这些数据源包括外部硬件和外部数据库(与JDBC、ODBC兼容)。为了方便数据的读取,MATLAB 6.x提供了数据编辑器,以完成从MATLAB外部便捷地读取数据的功能;通过该编辑器可以实现多种数据类型的转换。模块集是面向应用领域的模块(Simulink的基本单位)的集合,这些模块可以直接用于Simulink模型中,在命令窗口(matlab command window)键入“simu
19、link”,就出现(SIMULINK) 窗口,以往十分困难的系统仿真问题,用SIMULINK只需拖动鼠标即可轻而易举地解决问题。状态流图是一个专门针对事件驱动系统建模和设计的图形化的模拟环境。代码生成工具可以从Simulink模型或状态流图中产生可定制的C和Ada代码,以便实现快速原型和硬件在线模拟。 学生产品是专门针对美国和加拿大地区的学生而发布的MATLAB的简易和廉价版本。1.4 MATLAB软件的安装1.4.1 运行MATLAB的基本要求1. MATLAB 6.5对硬件的要求CPU 奔腾、奔腾Pro、奔腾二、三或四代、AMD Athlon或者更高;光驱 至少为24速光驱;内存 至少12
20、8MB,推荐256MB以上;硬盘 至少预留260MB的硬盘空间(根据需要安装的东西所定);显卡 256色以上。2. MATLAB 6.5对软件的要求 Microsoft Windows Me98NT2000XP; Microsoft Word 972000XP,用以使用MATLAB Notebook; Compaq Visual Fortran 5.0,Microsoft VCC+5.0,Borland CC+5.0,Borland C+; Builder version 3.0或更高版本,用以实现API; Adobe Acrobat Reader,用以阅读MATLAB的PDF帮助信息。可见,
21、MATLAB 6.5对内存的要求加大,并且不再支持Windows 95系统,不再支持Office95。根据Mathworks公司的报告,在即将发行的新版本的产品中将不再支持Windows 98系统。读者可以根据自己的需求来合理选择需要安装的版本。1.4.2 安装MATLAB将MATLAB 6.5的安装盘放入光驱,系统会自动搜索到autorun文件并进入安装界面。安装步骤十分简便,按提示进行操作就可以了。当用户填写注册信息及接受使用协议后,将进入MATLAB的选择安装界面,如图1.1所示。用户可以根据使用的要求有选择地安装各组件和安装目录。完全安装MATLAB 6.5需要1.5GB以上的硬盘空间
22、,对一般的计算机用户来说,许多工具箱软件包可能在相当长的时间内根本用不到,因此选择安装就显得很重要。表1.1列出了供选择的各个选项的具体解释。对于初学者,安装表中粗体内容即可,大约需要250MB的硬盘空间。对于硬盘很大的用户,最好需要什么才安装什么,并不是安装得越多越好。图1.1选好需要安装的组件和安装目录后就可以进行安装了。在安装之后再重新启动计算机,安装时所做的一些设置,如搜索路径设置等才会生效。表1.1可以选择安装的项目组件选项功能解释组件选项功能解释MATLAB MATLAB主程序Financial Toolbox金融财政工具箱Simulink动态仿真Fixed-Point Block
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一章 MATLAB 语言 概述
限制150内