MATLAB语言介绍

上传人:优*** 文档编号:48080847 上传时间:2022-01-01 格式:DOC 页数:61 大小:357.50KB
收藏 版权申诉 举报 下载
MATLAB语言介绍_第1页
第1页 / 共61页
MATLAB语言介绍_第2页
第2页 / 共61页
MATLAB语言介绍_第3页
第3页 / 共61页
资源描述:

《MATLAB语言介绍》由会员分享,可在线阅读,更多相关《MATLAB语言介绍(61页珍藏版)》请在装配图网上搜索。

1、真诚为您提供优质参考资料,若有不当之处,请指正。一 MATLAB概述1.1 MATLAB是21世纪的科学计算软件在科学研究和工程应用等领域中会涉及到大量的科学计算问题,自从计算机出现以来,人们就一直在使用计算机这个有力的工具帮助解决科学计算问题,并由此发明了许多用于科学计算的程序语言,如BASIC、FORTRAN、C等等。随着时代的变化、随着计算机的普及和快速发展,计算机程序语言在不断地变化发展、在不断地推陈出新。在当今时代,什么程序语言是最流行的科学计算语言呢?答案是MATLAB语言。MATLAB之所以能够成为最好的和最流行的科学计算语言,是因为它具有强大的科学计算及数据处理能力和出色的图形

2、处理功能等特点。1.1.1 MATLAB具有强大的科学计算及数据处理能力MATLAB拥有600多个工程中要用到的数学运算函数,可以方便地实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而且经过了各种优化及容错处理,因此使用起来稳定性和可靠性非常高,在通常情况下,可以用它来代替底层编程语言,如C和C+等。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB函数所能解决的问题包括矩阵运算、多维数组操作(阵列运算)、复数的各种运算、三角函数和其他初等数学函数运算、非线性方程求根、线性方程组的求解、微分方程及偏微分方程组的求解、符号运算、傅立叶

3、变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、建模和动态仿真等等。1.1.2 MATLAB具有出色的图形处理功能在科学计算中,往往需要用各种图形把数值计算的结果形象地表现出来,以帮助人们更好地理解、认识和发现其中的科学规律。MATLAB不仅提供数值计算功能和符号运算功能,而且自诞生之日起就具有方便的数据可视化功能,使计算结果的可视化要求得到充分满足。MATLAB在二维曲线和三维曲面的绘制和处理等方面的功能比一般数据可视化软件更加完善,在一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等)方面也表现得非常出色。在MATLAB 6.x中有一个对图形对象属性进行设置的

4、图形属性编辑界面,该界面比 MATLAB 5.x中的界面功能更为全面,操作也更为方便。MATLAB 6.x对图形的输出也做了适当的改进,提供了更为丰富的属性设置,以提高图形输出的效果。对一些特殊的可视化要求,例如图形动画等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外,新版本的MATLAB还着重在图形用户界面(GUI)的制作上做了很大的改善,对这方面有特殊要求的用户也可以得到满足。MATLAB将数值计算功能、符号运算功能和图形处理功能高度地集成在一起,在数值计算、符号运算和图形处理上做到了无缝的衔接,极大地方便了用户,这是它在科学计算中能得到广泛应用的重要原因之一。1.1.3

5、 MATLAB程序语言简单易用早期用于科学计算的计算机语言,由于计算机内存容量和运算速度的限制等原因,常常要定义常量、变量、向量和矩阵等的不同的数据类型,结果导致编程过于复杂化。和这些语言不一样,MATLAB语言对他们进行了高度抽象,实现了数据类型的高度统一,即常量、变量、向量和矩阵等都具有相同的数据类型。MATLAB语言认为所有的数据都是一个对象类,都具有相同的属性。因此,用户不需要事先分别定义常量、变量、向量和矩阵等的数据类型就可以直接使用他们(当然MATLAB的这种设计思想是以高性能计算机的出现和普及作为前提条件的),编程得到了很大简化。例如,在MATLAB中,基本的计算单元用复双精度矩

6、阵来表示,其大小是n行m列,矩阵各数据元素存放在两个双精度向量中,一个存放实部数据(指针pr指向它),另一个存放虚部数据(指针pi指向它)。如果是实数,则复双精度矩阵中pi为空。复数或实数则可以理解为11的矩阵。MATLAB语言是一种“数学形式的语言”,它的操作和功能函数指令就是用平时计算机和数学书上的英文单词和符号来表达的,比BASIC、FORTRAN和C等语言更接近于人们书写的数学计算公式、更接近于人们进行科学计算的思维方式,用MATLAB语言编写程序犹如在演算纸上排列公式与求解问题,故有人称MATLAB编程语言为“演算纸”式科学算法语言。因此,MATLAB语言简单自然,学习和使用更容易。

7、MATLAB程序文件是一个纯文本文件,扩展名为.m,用任何字处理软件都可以对它进行编辑。MATLAB本身就像一个解释系统,对其中的函数程序的执行以一种解释执行的方式进行,程序不必经过编译就可以直接运行,而且能够及时报告出现的错误,进行出错原因分析。因此,程序调试容易、编程效率高。MATLAB的用户界面精致,接近Windows的标准界面,人机交互性强,操作简单。新版本的MATLAB提供了完整的联机查询、帮助系统,极大地方便了用户的使用。例如,在开发环境中,MATLAB 6.x提供了强大的帮助功能,几乎所有的帮助都能以在线帮助的形式出现,同时也提供了一种全新的帮助浏览器,更加方便用户获得所需要的信

8、息。与MATLAB 5.x相比,MATLAB 6.x改进了原有的系统结构,将各种对MATLAB应用提供支持的系统集成为全新的MATLAB开发环境,其中最为明显的就是,集各种对MATLAB文件、数据变量进行操作的工具以及MATLAB自身的辅助工具为一体的MATLAB桌面系统。该桌面系统就是用户对MATLAB操作的面板。从开始应用MATLAB到退出MATLAB,几乎所有具体的操作都将在桌面系统内完成。1.1.4 MATLAB功能强大MATLAB为许多专业领域开发了功能强大的模块集或工具箱(一般都是由这些领域的专家们开发的),用户可以直接使用这些工具箱而不需要自己编写代码。目前,MATLAB已经把工

9、具箱延伸到了科学研究和工程应用的诸多领域,诸如概率统计、NAG和偏微分方程求解、样条拟合、优化算法、模糊逻辑、工程规划、模型预测、模型处理、神经网络、数据采集、交流通信、DSP与通讯、数字信号处理、小波分析、光谱分析、图像处理、系统辨识、控制系统设计、非线性控制设计、鲁棒控制、QFT控制设计、LMI控制、实时工作、数据库接口、金融分析、金融管理、地图工具、嵌入式系统开发、实时快速原型及半物理仿真、定点仿真、电力系统仿真等等,都在工具箱(Toolbox)家族中有了自己的一席之地。在模型化和系统级仿真方面,MATLAB开发了分支产品Simulink,主要用来实现对工程问题的模型化和动态仿真。Sim

10、ulink体现了模块化设计和系统级仿真的具体思想,使得建模仿真如同搭积木一样简单。Simulink对仿真的实现可以应用于动力系统、信号控制、通信设计、金融财会及生物医学等各个领域的研究中。MATLAB留有与其它实用的程序接口。MATLAB可以方便地与FORTRAN,C等语言接口,以充分利用各种资源。用户只需将已有的EXE文件转换成MEX文件,就可以方便地调用有关程序和子程序。新版本的MATLAB可以利用MATLAB编译器和CC+数学库和图形库,将自己的 MATLAB程序自动转换为独立于MATLAB运行的C和C+代码。MATLAB还和符号运算最为强大的工具软件Maple有很好的接口,这也大大扩充

11、了MATLAB的符号运算功能。此外,在MATLAB 6.x中增加了与Java的接口,并为实现两者的数据交换提供了相应的函数库。1.1.5 MATLAB开放性强MATLAB强大的功能与其开放性设计思想是分不开的,正是这种开放性设计思想,增强了MATLAB强大的生命力。MATLAB对函数程序的执行是以一种解释的方式进行的,MATLAB完全成了一个开放的系统,用户可以方便地看到函数的源程序,也可以方便地开发自己的程序,甚至创建自己的“库”。在工具箱方面,该公司本身就推出了30多个应用工具箱,而世界上超过200家公司开发出与MATLAB兼容的第三方产品,这些产品向用户提供更多的工具箱、模块集、与其他商

12、业产品的接口等。MATLAB是一个开放的环境。全世界各地,特别是许多大学都建立了MATLAB学习研究小组,他们也通过互联网交流学习心得和经验,MathWorks公司特别鼓励这种交流,以丰富和扩展MATLAB的使用范围。目前,MATLAB 7.0版本已经面世,其功能和使用便捷程度又有了很大提高。MATLAB的相关书籍超过涉及19种不同文字600种。由于MATLAB具有以上其他计算语言无法比拟的优势,在美国及其他发达国家的理工科院校里,MATLAB已经成为了一门必修的课程,是攻读学位的大学生、硕士生和博士生必须掌握的基本工具。在科研院所、大型公司或企业的工程计算部门,MATLAB也是最为普遍的计算

13、工具之一。由此可见,MATLAB就是21世纪真正的科学计算语言。1.2 MATLAB软件的发展历史MATLAB是由MATrix和LABoratory两个词的前三个字母组合而成的,含义是矩阵实验室。它是MathWorks公司于1984年推出的一套高性能的数值计算和数据可视化数学软件。20世纪70年代,Cleve Moler和他的同事在美国国家自然科学基金的资助下研发了调用LINPACK和EISPACK的FORTRAN子程序库,这两个程序库是用于解线性方程和矩阵特征值问题的,代表着当时矩阵计算软件的最高水平。后来Cleve Moler在新墨西哥大学给学生开线性代数课程时,用业余时间为学生编写使用方

14、便的LINPACK和EISPACK的接口程序,并给这个接口程序取名为MATLAB。Cleve Moler先后到多所大学讲学,MATLAB逐渐为人们所接受并成为应用数学界的术语。当Cleve Moler 1983年到斯坦福大学访问时,工程师John Little就意识到MATLAB将会在工程计算领域里大有作为,于是他与Moler及Steve Bangert等人一起合作开发了第二代专业版MATLAB。从这一代开始,MATLAB的核心就采用C语言编写,并且MATLAB除了具有数值计算的功能以外,还具备了数据可视化的功能。1984年,Mathworks公司成立,把MATLAB推向了市场,并继续MATL

15、AB的研制和开发。1993年,MATLAB的第一个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符号运算工具箱,其升级版本MAT

16、LAB 4.2c在用户中得到广泛的应用。1997年,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 6.5为蓝本,简明介绍MATLAB语言的数值计算功能、绘图功能和在数值计算方法

17、中的应用等内容。1.3 MATLAB软件的组成MATLAB软件是一个大家庭,有许多成员,包括应用程序开发工具、工具箱(Toolbox)、数据存取工具、模块集、状态流图、代码生成工具、学生产品等。应用程序开发工具包括MATLAB编译器、C/C数学库、MATLAB运行服务器、MATLAB Web服务器,这些工具可以建立和发布独立于MATLAB环境的应用程序(需要编译)。工具箱实际上是一些高度优化并且是面向专门应用领域的一系列MATLAB函数(称为M文件)的集合,它可用来求解各类学科的问题。仅随软件提供的工具箱可支持的领域就有信号处理、图像处理、控制系统设计、最优化、金融工程、符号数学、神经网络、系

18、统辩识等等。工具箱的最大的特点是它的开放性,几乎所有函数都是用MATLAB语言写成的(只有少数工具箱的某些函数是使用C语言写成的动态库函数),因而可以直接阅读和加以改写,用户也可以自行开发适合特定领域的工具箱。数据存取工具提供了从外部数据源获取数据的简易途径,这些数据源包括外部硬件和外部数据库(与JDBC、ODBC兼容)。为了方便数据的读取,MATLAB 6.x提供了数据编辑器,以完成从MATLAB外部便捷地读取数据的功能;通过该编辑器可以实现多种数据类型的转换。模块集是面向应用领域的模块(Simulink的基本单位)的集合,这些模块可以直接用于Simulink模型中,在命令窗口(matlab

19、 command window)键入“simulink”,就出现(SIMULINK) 窗口,以往十分困难的系统仿真问题,用SIMULINK只需拖动鼠标即可轻而易举地解决问题。状态流图是一个专门针对事件驱动系统建模和设计的图形化的模拟环境。代码生成工具可以从Simulink模型或状态流图中产生可定制的C和Ada代码,以便实现快速原型和硬件在线模拟。 学生产品是专门针对美国和加拿大地区的学生而发布的MATLAB的简易和廉价版本。1.4 MATLAB软件的安装1.4.1 运行MATLAB的基本要求1. MATLAB 6.5对硬件的要求CPU 奔腾、奔腾Pro、奔腾二、三或四代、AMD Athlon或

20、者更高;光驱 至少为24速光驱;内存 至少128MB,推荐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

21、,用以阅读MATLAB的PDF帮助信息。可见,MATLAB 6.5对内存的要求加大,并且不再支持Windows 95系统,不再支持Office95。根据Mathworks公司的报告,在即将发行的新版本的产品中将不再支持Windows 98系统。读者可以根据自己的需求来合理选择需要安装的版本。1.4.2 安装MATLAB将MATLAB 6.5的安装盘放入光驱,系统会自动搜索到autorun文件并进入安装界面。安装步骤十分简便,按提示进行操作就可以了。当用户填写注册信息及接受使用协议后,将进入MATLAB的选择安装界面,如图1.1所示。用户可以根据使用的要求有选择地安装各组件和安装目录。完全安装M

22、ATLAB 6.5需要1.5GB以上的硬盘空间,对一般的计算机用户来说,许多工具箱软件包可能在相当长的时间内根本用不到,因此选择安装就显得很重要。表1.1列出了供选择的各个选项的具体解释。对于初学者,安装表中粗体内容即可,大约需要250MB的硬盘空间。对于硬盘很大的用户,最好需要什么才安装什么,并不是安装得越多越好。图1.1选好需要安装的组件和安装目录后就可以进行安装了。在安装之后再重新启动计算机,安装时所做的一些设置,如搜索路径设置等才会生效。表1.1可以选择安装的项目组件选项功能解释组件选项功能解释MATLAB MATLAB主程序Financial Toolbox金融财政工具箱Simuli

23、nk动态仿真Fixed-Point Blockset定点模块集CDMA Reference BlocksetCDMA参考模块集Fuzzy Logic Toolbox模糊逻辑工具箱Communications Blockset通信模块集GARCH ToolboxGARCH工具箱Communications Toolbox通信工具箱Image Processing Toolbox图像处理工具箱Control System Toolbox控制系统工具箱Instrument Control Toolbox器材控制工具箱DSP Blockset数字信号模块集LMI Control ToolboxLMI控

24、制工具箱Data Acquismon Toolbox数据采集工具箱MATLAB CC+ Graphics LibraryMATLAB CC+图形库Database Toolbox数据库工具箱MATLAB CC+ Math LibraryMATLAB CC+数学计算库Datafeed Tookbox数据流入工具箱MATLAB CompilerMATLAB编译器Dials and Gauges Blockset刻度标尺模块集MATLAB Report GeneratorMATLAB报告生成器Excel Link外链接Mapping Toolbox制图工具箱Filter Design Toolbox

25、滤波器设计工具箱Model Predictive Control Toolbox模型预测控制工具箱Financial Derivatives Toolbox金融系统工具箱Motorola DSP Developers Kit摩托罗拉数字信号处理开发工具包Financial Time SeriesToolbox金融时间系列工具箱Mu-Analysis and Synthesis ToolboxMu分析与合成工具箱Neural Network Toolbox神经网络工具箱Signal Processing Toolbox信号处理工具箱Nonlinear Control Design Blockse

26、t非线性设计模块集Simulink Report GeneratorSimulink报表生成器Optimization Toolbox最优化工具箱Spline Toolbox样条工具箱Partial Dfferential Equation Toolbox偏微分方程工具箱Stateflow状态流工具箱Power System Blockset动力系统模块集Stateflow Coder状态流编码器Real-Time Workshop实时工作间Statistics Toolbox统计工具箱Real-Time Workshop Ada Coder实时工作问Ada编码器Symbolic Math T

27、oolbox符号运算工具箱Real-Time Workshop Embedded Coder实时工作间内置编码器System Identification Toolbox系统识别工具箱Requirements Management Interface需求管理界面Wavelet Toolbox小波工具箱Robust Control Toolbox鲁棒控制工具箱xPC TargetxPC对象SB2SL(converts models to Simulink)模型转换成Simulink工具xPC Target Embedded OptionxPC对象内置属性此外,MathWorks公司还提供了从网上

28、进行下载安装的MATLAB6.5学生版的免费软件,免费使用期是一个月。下载网址是:。1.5 MATLAB的基本操作1.5.1 MATLAB的桌面平台双击系统桌面的MATLAB图标,启动MATLAB,也可以在开始菜单的程序选项中选择MATLAB快捷方式,还可以在MATLAB的安装路径的bin子目录中双击可执行文件matlab.exe。初次启动MATLAB后,将进入MATLAB默认设置的桌面平台,如图1.2所示。图1.2默认情况下的桌面平台包括5个窗口,分别是MATLAB主窗口、命令窗口、历史窗口、当前目录窗口和工作空间窗口。下面分别对各窗口做简单介绍。1MATLAB主窗口MATLAB 6.5的主

29、窗口包含其他的几个窗口。主窗口不能进行任何计算任务的操作,只用来进行一些整体的环境参数的设置。它主要包括6个下拉菜单和10个按钮控件。10个按钮控件的功能如下:新建或打开一个MATLAB文件;剪切、复制或粘贴已选中的对象;撤销或恢复上一次操作; 打开Simulink主窗口;打开MATLAB的帮助系统;6个下拉菜单分别是【File】、【Edit】、【View】、【Web】、【Window】和【Help】。这里只简单介绍与基本操作有关的内容。单击【File】下拉菜单,点击【Set Path】,会弹出图1.3所示的对话窗口,点击【Add Folder】,浏览文件夹,找到需要运行程序所在的文件夹位置,

30、按【确定】后窗口中就会新添一条用户设置的路径,按【Save】和【Close】,退出对话窗口,以后只要在命令窗口中键入该路径下的MATLAB应用程序,就可以正常运行,不会出现找不到路径的错误了。这是因为MATLAB的一切操作都是在它的搜索路径(包括当前路径)中进行的,如果调用的函数在搜索路径之外,MATLAB则认为此函数并不存在。因此,必须把应用程序所在的目录扩展成MATLAB的搜索路径。单击【File】下拉菜单,点击【Preferences】,会弹出图1.4所示的对话窗口,可以对各窗口的字体、字号、字符颜色、数据显示格式、图形复制等很多属性进行设置。这里不进行详细介绍。 图1.3 图1.4单击

31、【File】下拉菜单,点击【New】,再点击【M-file】,会弹出文本编辑窗口,用户可以编写自己的MATLAB应用程序(M文件和M函数)。单击【Edit】下拉菜单,点击【Clear Command Window】,可以清除命令窗口中的所有内容,窗口中只剩下命令提示符“”。单击【View】下拉菜单,点击【Desktop Layout】,再点击【Default】,MATLAB就恢复默认的桌面平台设置。2命令窗口在MATLAB的命令窗口中,“”为运算提示符,表示MATLAB正处在准备状态,接受用户的输入指令。当在提示符后输入MATLAB通用命令、MATLAB函数(M函数)、MATLAB应用程序(M

32、文件)和一段MATLAB表达式等,按【Enter】键后,MATLAB将进行系统管理工作以及进行数值计算、给出计算结果,如果指令集中调用了MATLAB绘图命令,将会弹出图形窗口,显示计算结果的数学图形。指令完成之后,MATLAB再次进入准备状态。在MATLAB的基本函数库(表1.2)中,有MATLAB通用命令和许多其他的MATLAB函数。如果用户一旦发现某个指令不知如何使用时,可以用help命令将该指令紧跟于后,系统便会告诉该指令的意义和使用方法。例如: help sin SIN Sine. SIN(X) is the sine of the elements of X.表1.2MATLAB基本

33、函数库库 内 容库 名库 内 容库 名数据分析函数库datafun矩阵线性代数库matfun动态数据交换库dde运算符和特殊字符库ops初等数学函数库elfun二维图形库graph2d基本矩阵库elmat特殊图形函数库specgraph时间日期函数库timefun三维图形库graph3d非线性数值方法库funfun多项式和插值函数库polyfun通用命令库general稀疏矩阵函数库sparfun数据类型库datatypes特殊数学函数库specfun通用图形函数库graphics字符串函数库strfun低层输入/出函数库iofun用户界面工具库Guitools语言结构函数库langMATLA

34、B演示库demos又例如,在MATLAB下进行基本数学运算,只需将运算式直接打入提示号之后,并键入【Enter】键即可。 (10*19+2/4-34)/2*3(Enter)ans= 234.7500MATLAB会将运算结果直接存入一变量ans,代表MATLAB运算后的答案,并在屏幕上显示其数值。MATLAB可以将计算结果以不同的精确度的数字格式显示,单击主窗口的菜单【File】,点击【Preferences】,弹出窗口后,再点击Command Window,在Numerical Format下拉选项框中,选中“format short”,这就是系统默认的数据格式。如果在上例中数学运算式的结尾加

35、上“;”,则计算结果不会显示在命令窗口上,要得知计算值只须键入表示这一数学运算式的变量名即可。例如: a=(10*19+2/4-34)/2*3;(Enter)a234.75003命令历史窗口在默认设置下,历史窗口中会保留自安装起所有命令的历史记录,并标明使用时间,这方便了使用者的查询。双击某一行命令,即在命令窗口中执行该行命令。4当前目录窗口在当前目录窗口中可显示或改变当前目录,还可以显示当前目录下的文件并提供搜索功能。在此窗口中,显示并改变当前目录的控件,与主窗口中的路径显示控件完全相同。设置当前路径。5工作空间窗口工作空间窗口是MATLAB的重要组成部分。在工作空间窗口中将显示目前内存中所

36、有的MATLAB变量的变量名、数据结构、字节数以及类型,不同的变量类型分别对应不同的变量名图标。工作空间窗口的工具栏由5个部分组成,他们是4个按钮控件和1个下拉菜单。保存工作空间中的所有数据;打开已保存的MATLAB数据文件; 打开所选数据的矩阵编辑器; 删除所选数据;MATLAB在执行M文件时,将把该M文件的数据保存到其对应的工作空间中。为了区别,命令窗口的工作空间(也包括全局变量的工作空间)被标记为基本工作空间(Base)。因此,此控件用于调试M文件时实现不同工作空间之间的切换。1.5.2 MATLAB的使用技巧1. MATLAB的通用命令使用MATLAB之前,应该熟悉一些常用的MATLA

37、B通用命令,通用命令用于对MATLAB系统的管理。表1.3给出了MATLAB通用命令库中的部分命令。表1.3通用命令表命 令命令说明命 令命令说明cd 显示或改变工作目录 hold 图形保持开关dir 显示目录下文件 disp 显示变量或文字内容type 显示文件内容 path 显示搜索目录clear 清理内存变量 save 保存内存变量到指定文件clf 清除图形窗口 load 加载指定文件中的变量pack 收集内存碎片,扩大内存空间 diary 日志文件命令clc 清除工作窗quit/exit 退出MATLABecho工作窗信息显示开关 ! 调用操作系统命令help在线帮助dos 执行dos

38、命令helpwin在线帮助窗口unix执行unix命令helpdesk在线帮助工作台what显示指定的matlab文件lookfor在HELP里搜索关键字which定位函数或文件demo运行演示程序path获取或设置搜索路径readme显示Readme文件ver版本信息who显示当前变量pwd显示当前的工作目录whos显示当前变量的详细信息computer显示计算机类型例如,当要暂时离开MATLAB,去执行操作系统(例如Dos)的指令而后还要再进入MATLAB时,则可以利用惊叹号“!”加上想要执行的操作系统的指令,如!dir等。又例如,要结束MATLAB的运行,可以采用下列三种方法之一:键入q

39、uit命令;键入exit命令;直接关闭MATLAB的命令窗口(Command window)。2. 一些常用操作技巧在MATLAB的使用过程中,通过使用常用键盘按键技巧可以使命令窗口的行操作变得简单容易。表1.4常用操作键键盘按键说 明键盘按键说 明Ctrl+p,调用上一行homeCtrl+a,光标置于当前行开头Ctrl+n,调用下一行endCtrl+e,光标置于当前行末尾Ctrl+b,光标左移一个字符escCtrl+u,清除当前输入行Ctrl+f,光标右移一个字符delCtrl+d,删除光标处的字符Ctrl+Ctrl+l,光标左移一个单词backspaceCtrl+h,删除光标前的字符Ctr

40、l+Ctrl+r,光标右移一个单词Alt+backspace恢复上一次删除例如,MATLAB利用了二个游标键,可以将所用过的指令叫回来重复使用。按下则前一次指令重新出现,之后再按Enter键,即再执行前一次的指令。而键的功用则是往后执行指令。其它在键盘上的几个键,如、Delete、Insert,其功能则显而易见,无须多加说明。另外,Ctrl-C(即同时按Ctrl及C两个键)可以用来中止执行中的MATLAB程序。3. 标点在MATLAB语言中,一些标点(表1.5)被赋予特殊的意义或代表一定的运算,他们被MATLAB变量和语句所应用,例如“:”和“,”在矩阵和语句中有不同的含义。表1.5运算符和特

41、殊字符库标 点定 义标 点定 义:冒号,具有多种应用功能.小数点,小数点及域访问符等;分号,区分行及取消运行显示等续行符,逗号,区分列及函数参数分隔符等%百分号,注释标记( )括号,指定运算过程中的先后次序等!惊叹号,调用操作系统运算 方括号,矩阵定义的标志等=等号,赋值标记 大括号,用于构成单元数组等单引号,字符串的标示符等1.5.3 MATLAB的帮助系统MATLAB的帮助系统大致可分为联机帮助系统、命令窗口查询帮助系统和联机演示系统三大类,用户在学习MATLAB的过程中,理解、掌握和熟练运用这些帮助是非常重要的。下面主要对命令窗口查询帮助系统进行介绍。命令窗口查询帮助主要可以分为help

42、系列、lookfor命令和其他常用帮助命令。1help系列help系列的帮助命令有help,help+函数(类)名,helpwin及helpdesk,其中后两者是用来调用联机帮助窗口的。(1) helphelp命令是最为常用的命令。在命令窗口中直接输入help命令,将会显示当前的帮助系统中所包含的所有项目,即搜索路径中所有的目录名称。(2) help+函数(类)名在实际应用中,这是最有用的一个帮助命令,可以辅助用户进行深入的学习。【例1.1】 help log LOG Natural logarithm. LOG(X) is the natural logarithm of the eleme

43、nts of X. Complex results are produced if X is not positive. See also LOG2, LOG10, EXP, LOGM.2lookfor函数当知道某函数的函数名而不知其用法时,help命令可帮助用户准确地了解此函数的用法。然而,若要查找一个不知其确切名称的函数名时,可以用lookfor命令来查询根据用户提供的关键字搜索到的相关函数。【例1.2】 lookfor EulerRIGIDODE Euler equations of a rigid body without external forces.EULER Simulink

44、1.x EULER integration algorithm.BWEULER Compute the Euler number of binary image.eulerfs.m: % function ttab,xtab=eulerfs(plant,t,x0,u0,h,p1,p2,p3,p4,p5)lookfor的查询机理为:它对MATLAB搜索路径中的每个M文件的注释区的第一行进行扫描,一旦发现此行中含有所查询的字符串,则将该函数名及第一行注释全部显示在屏幕上。由此机理,用户也可在自己的文件中加入在线注释。3其他帮助命令MATLAB中还有一些可能会常用到的查询、帮助命令,如下所示。 ex

45、ist变量检验函数 what目录中文件列表 who内存变量列表 whos内存变量详细信息 which确定文件位置二 MATLAB变量与表达式2.1 MATLAB的变量2.1.1 数据类型数据是计算机程序处理的对象。数据可能是整数、实数、复数、数值矩阵或者是字符、字符串等,他们占用的计算机内存大小显然是不同的。为了数据存储和处理的需要,编译程序将数据划分成不同的类型,并规定了每一种类型数据在内存的存储单元字节数和对该类型数据所能进行的运算。然而,在MATLAB程序语言中,数据的类型是相同的,对用户而言只有一种。MATLAB是一种面向矩阵的编程语言,它将任何数据都看成是矩阵:一个实数是虚部为零的复

46、数,一个复数是11的数值矩阵;数量、向量和字符串等是特殊的矩阵;一个NM的数据矩阵由NM个复数元素构成。矩阵的类型可以是复数型矩阵、实数型矩阵或由字符组成的字符型矩阵。在MATLAB中,所有数据都是以阵列的形式存在的,该阵列称为MATLAB Arrays。由此可见,在MATLAB中,矩阵的各种数据类型在语法上是完全相同的。因此,用MATLAB语言编程十分简洁。MATLAB实现变量数据类型的统一,在很大程度上简化了程序设计。用户不需要事先声明、指定所使用变量的类型、定义变量的维数,MATLAB会自动根据所赋予变量的值或对变量所进行的操作来确定变量的类型和维数;在赋值过程中,如果变量已存在,MAT

47、LAB语言将使用新值代替旧值,并以新的变量类型和维数代替旧的变量类型和维数。2.1.2 变量类型在MATLAB中,简单变量就是11的矩阵变量,向量就是n1或1m的矩阵变量,简单变量、向量和矩阵变量在类型上也是统一的。因此,MATLAB的基本变量就是矩阵型变量。在下面的内容中,如果不需要特别区分,约定变量就是指矩阵变量(含11矩阵变量),常量就是指矩阵常量(含11矩阵常量)。2.1.3 存储形式MATLAB矩阵数据都是以列(column)为先的阵列形式存储的,如同Fortran语言的规则一样。例如,给出一个字符串矩阵:a=house; floor; porcha =housef loorporc

48、h它的大小是size(a)ans =35它在内存单元中的存储顺序是:hfpolouorsocerh2.1.4 变量命名规则在MATLAB语言中,变量的命名遵守如下规则:(1)变量名以英文字母开头(即第一个字符必须为英文字母),变量名中可包含字母、数字和下划线“_”,但不能包含空格符和其它标点符号。例如, V_31为合法变量名,但V-31, 31, V=31, V+31,V31等都不是合法的变量名。(2)变量名中的字母区分大小写。例如,单一字母X 和x 、A和 a是不同的变量名,MAT_LAB、MAT_lab和mat_lab等是完全不同的变量名。(3)变量名长度不能超过31个字符(第31个字符之

49、后的字符将被忽略)。例如,V31为合法变量名。需要说明的是,MATLAB语言与其他的程序设计语言一样,也存在变量作用域的问题。在未加特殊说明的情况下,MATLAB语言将所识别的一切变量视为局部变量,即仅在其调用的函数内有效。若要定义全局变量,应对变量进行声明,即在该变量前加关键字global。一般来说,全局变量习惯用大写的英文字符表示,以便记忆和理解。2.1.5 MATLAB预定义的变量MATLAB有一些预定义的变量,表2.1给出了MATLAB语言中经常使用的一些预定义的变量及其说明。表 2.1MATLAB预先定义的变量变量含义ans预设的计算结果的变量名epsMATLAB定义的正的极小值2.

50、2204e-16pi内建的值inf值,无限大 ( 1/0)NaN无法定义的一个数 (0/0)i 或 j虚数单位i = j = realmax最大的正实数1.7977e+308realmin最小的正实数2.2251e-308nargin函数输入参数的个数nargout函数输出参数的个数flops浮点运算次数2.2 MATLAB的表达式 2.2.1 表达式MATLAB数值计算语句是由表达式和变量等组成(即MATLAB是表达式语言),用户输入的语句由MATLAB系统直接解释运行,因此,变量和表达式是使用MATLAB进行数值计算的基础。MATLAB语句有2种最常见的形式:1 表达式2 变量=表达式表达

51、式由运算符、函数、变量和数字组成。MATLAB书写表达式的规则与“手写算式”几乎完全相同。表达式在MATLAB中占有很重要的地位,几乎所有的数值计算都必须借助它来进行。在第一种形式中,表达式运算后产生的结果由MATLAB系统自动赋给名为ans的变量,并显示在屏幕上。ans是一个默认的预定义变量名,它会在以后的类似操作中被自动覆盖掉。所以,对于在后续的计算中将要用到的重要结果,一定要记录下来,应该使用第二种形式的语句(赋值语句)。在第二种形式中,等号右边的表达式计算后产生的结果由MATLAB系统将其赋给等号左边的变量后放入内存中,并显示在屏幕上。【例2.3】 2*sin(pi/4)+3.2-sq

52、rt(9)ans = 7.4142 w=2*sin(pi/4)+3.2-sqrt(9)w = 7.4142注意:(1)在书写表达式时,运算符两侧允许有空格,以增加可读性。表达式的末尾可以加上“;”,也可以不加。(2)如果一个指令过长可以在结尾加上省略号“.”(代表此行指令与下一行连续),剩余部分在下一行继续写完。例如 S=3*.6+5S = 23(3)MATLAB常用算符+ 加法、- 减法 、 幂、 * 乘法、 右除 、 左除在矩阵运算中有左除和右除的区别,对于数字运算则没有区别。2.2.2 数据的输出格式在MATLAB语言中的数值有多种显示形式。在默认情况下,若数据为整数,则以整型表示;若为

53、实数,则以保留小数点后4位的浮点型表示。在MATLAB系统中数据的储存和计算都是以双精度进行的,但是用户可以改变数据在屏幕上显示的格式,即可以用format命令控制MATLAB的输出格式。应该注意,format命令只影响数据在屏幕上的显示结果,而不会影响数据在MATLAB内的存储和运算。具体应用方法如表2.2所示。表2.2数据输出格式formatformat short5位定点表示。 例如 1.4142format long 15位定点表示。例如 1.41421356237310format short e5位浮点表示。 例如 1.4142e+000format long e15位浮点表示。例

54、如 1.414213562373095e+000format short g系统选择5位定点和5位浮点中更好的表示format long g系统选择15位定点和15位浮点中更好的表示format rational近似的有理数的表示。例如 sqrt(2)=1393985format hex十六进制的表示。 例如 3ff6a09e667f3bcdformat +(plus) 表示大矩阵是分别用+、-和空格表示矩阵中的正数、负数和零。format bank用元、角、分(美制)定点表示。例如 1.41format compact变量之间没有空行。format loose变量之间有空行。另外,MATLA

55、B提供在对话框中选择显示格式,这在概述中已经介绍过了。2.2.3 MATLAB常用数学函数在MATLAB中,常用的数学函数包括三角函数和双曲函数、指数函数、复数函数、归整函数和求余函数、矩阵变换函数和其他函数。具体函数名称和含义见表2.3-表2.8。表2.3三角函数和双曲函数(弧度)名 称含义名 称含义名 称含义sin正弦csc余割atanh反双曲正切cos余弦asec反正割acoth反双曲余切tan正切acsc反余割sech双曲正割cot余切sinh双曲正弦csch双曲余割asin反正弦cosh双曲余弦asech反双曲正割acos反余弦tanh双曲正切acsch反双曲余割atan反正切cot

56、h双曲余切atan2四象限反正切acot反余切asinh反双曲正弦sec正割acosh反双曲余弦表2.4 指数函数名 称含义名 称含义名 称含义expe为底的指数log1010为底的对数pow22的幂log自然对数log22为底的对数sqrt平方根表2.5复数函数名 称含义名 称含义名 称含义abs绝对值conj复数共轭real复数实部angle相角imag复数虚部表2.6 归整函数和求余函数名 称含义名 称含义ceil向+归整rem求余数fix向0归整round向靠近整数归整floor向-归整sign符号函数mod模除求余表2.7矩阵变换函数名 称含义名 称含义fiplr矩阵左右翻转diag产生或提取对角阵fipud矩阵上下翻转tril产生下三角fipdim矩阵特定维翻转triu产生上三角rot90矩阵反时针90o翻转表2.8其他函数名 称含义名 称含义min最小值max最大值mean平均值median中位数std标准差diff相邻元素的差sort排序length个数norm欧氏(Euclidean)长度sum总和prod总乘积dot内积cumsum累计元素总和cumprod累计元素总乘积cross外积61 / 61

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!