您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 第八章 matlab软件快速入门
198第八章Matlab软件快速入门8.1Matlab概述MATLAB是MATrixLABoratory(“矩阵实验室”)的缩写,是由美国MathWorks公司开发的集数值计算、符号计算和图形可视化三大基本功能于一体的,功能强大、操作简单的语言。是国际公认的优秀数学应用软件之一。20世纪80年代初期,CleveMoler与JohnLittle等利用C语言开发了新一代的MATLAB语言,此时的MATLAB语言已同时具备了数值计算功能和简单的图形处理功能。1984年,CleveMoler与JohnLittle等正式成立了Mathworks公司,把MATLAB语言推向市场,并开始了对MATLAB工具箱等的开发设计。现在,MATLAB已经发展成为适合多学科的大型软件,已经成为线性代数、数值分析、数理统计、优化方法、自动控制、数字信号处理、动态系统仿真等高级课程的基本教学工具。MATLAB系统由两部分组成,即MATLAB内核及辅助工具箱,两者的调用构成了MATLAB的强大功能。MATLAB语言以数组为基本数据单位,包括控制流语句、函数、数据结构、输入输出及面向对象等特点的高级语言,它具有以下主要特点:1)运算符和库函数极其丰富,语言简洁,编程效率高,MATLAB除了提供和C语言一样的运算符号外,还提供广泛的矩阵和向量运算符。2)既具有结构化的控制语句(如for循环、while循环、break语句、if语句和switch语句),又有面向对象的编程特性。3)图形功能强大。它既包括对二维和三维数据可视化、图像处理、动画制作等高层次的绘图命令,也包括可以修改图形及编制完整图形界面的、低层次的绘图命令。4)功能强大的工具箱。工具箱可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互的功能。而学科性工具箱是专业性比较强的,如优化工具箱、统计工具箱、控制工具箱、小波工具箱、图象处理工具箱、通信工具箱等。5)易于扩充。除内部函数外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可修改源文件和加入自己的文件,它们可以与库函数一样被调用。1998.2MATLAB的开发环境MATLAB的开发环境就是在使用MATLAB的过程中可激活的,并且为用户使用提供支持的集成系统。这里介绍比较重要的如:桌面平台系统、帮助系统。8.2.1MATLAB桌面平台桌面平台是各桌面组件的展示平台,默认设置情况下的桌面平台包括6个窗口,具体如下:MATLAB主窗口MATLAB6比早期版本增加了一个主窗口。该窗口不能进行任何计算任务的操作,只用来进行一些整体的环境参数的设置。命令窗口(CommandWindow)命令窗口是对MATLAB进行操作的主要载体,默认的情况下,启动MATLAB时就会打开命令窗口,显示形式如图1-1所示。一般来说,MATLAB的所有函数和命令都可以在命令窗口中执行。在MATLAB命令窗口中,命令的实现不仅可以由菜单操作来实现,也可以由命令行操作来执行,下面就详细介绍MALTAB命令行操作。实际上,掌握MALAB命令行操作是走入MATLAB世界的第一步,命令行操作实现了对程序设计而言简单而又重要的人机交互,通过对命令行操作,避免了编程序的麻烦,体现了MATLAB所特有的灵活性。例如:%在命令窗口中输入sin(pi/5),然后单击回车键,则会得到该表达式的值sin(pi/5)ans=0.5878由例可以看出,为求得表达式的值,只需按照MALAB语言规则将表达式输入即可,结果会自动返回,而不必像其他的程序设计语言那样,编制冗长的程序来执行。当需要处理相当繁琐的计算时,可能在一行之内无法写完表达式,可以换行表示,此时需要使用续行符“……”否则MATLAB将只计算一行的值,而不理会该行是否已输入完毕。例如:sin(1/9*pi)+sin(2/9*pi)+sin(3/9*pi)+……sin(4/9*pi)+sin(5/9*pi)+sin(6/9*pi)+……sin(7/9*pi)+sin(8/9*pi)+sin(9/9*pi)+……200ans=5.6713使用续行符之后MATLAB会自动将前一行保留而不加以计算,并与下一行衔接,等待完整输入后再计算整个输入的结果。在MATLAB命令行操作中,有一些键盘按键可以提供特殊而方便的编辑操作。比如:“↑”可用于调出前一个命令行,“↓”可调出后一个命令行,避免了重新输入的麻烦。当然下面即将讲到的历史窗口也具有此功能。历史窗口(CommandHistory)历史命令窗口是MATLAB6新增添的一个用户界面窗口,默认设置下历史命令窗口会保留自安装时起所有命令的历史记录,并标明使用时间,以方便使用者的查询。而且双击某一行命令,即在命令窗口中执行该命令。发行说明书窗口(LaunchPad)发行说明书窗口是MATLAB6所特有的,用来说明用户所拥有的Mathworks公司产品的工具包、演示以及帮助信息。当选中该窗口中的某个组件之后,可以打开相应的窗口工具包。当前目录窗口(CurrentDirectory)在当前目录窗口中可显示或改变当前目录,还可以显示当前目录下的文件,包括文件名、文件类型、最后修改时间以及该文件的说明信息等并提供搜索功能。工作空间管理窗口(Workspace)工作空间管理窗口是MATLAB的重要组成部分。在工作空间管理窗口中将显示所有目前保存在内存中的MATLAB变量的变量名、数据结构、字节数以及类型,而不同的变量类型分别对应不同的变量名图标。8.2.2MATLAB帮助系统完善的帮助系统是任何应用软件必要的组成部分。MATLAB提供了相当丰富的帮助信息,同时也提供了获得帮助的方法。首先,可以通过桌面平台的【Help】菜单来获得帮助,也可以通过工具栏的帮助选项获得帮助。此外,MATLAB也提供了在命令窗口中的获得帮助的多种方法,在命令窗口中获得MATLAB帮助的命令及说明列于表7.3-1中。其调用格式为:命令+指定参数表7.3-1命令说明201doc在帮助浏览器中显示指定函数的参考信息help在命令窗口中显示M文件帮助helpbrowser打开帮助浏览器,无参数helpwin打开帮助浏览器,并且见初始界面置于MATLAB函数的M文件帮助信息lookfor在命令窗口中显示具有指定参数特征函数的M文件帮助web显示指定的网络页面,默认为MATLAB帮助浏览器例如:helpsinSINSineSIN(X)isthesineoftheelementsofXOverloadedmethodsHelpsym/sin.m另外也可以通过在组件平台中调用演示模型(demo)来获得特殊帮助。8.3Matlab基本量MATLAB强大的数值计算功能使其在诸多数学计算软件中傲视群雄,是MATLAB软件的基础。本节将简要介绍MATLAB的数据类型、矩阵的建立及运算。8.3.1MATLAB数据类型MATLAB的数据类型主要包括:数字、字符串、矩阵、单元型数据及结构型数据等,限于篇幅我们将重点介绍其中几个常用类型。变量与常量变量是任何程序设计语言的基本要素之一,MATLAB语言当然也不例外。与常规的程序设计语言不同的MATLAB并不要求事先对所使用的变量进行声明,也不需要指定变量类型,MATLAB语言会自动依据所赋予变量的值或对变量所进行的操作来识别变量的类型。在赋值过程中如果赋值变量已存在时,MATLAB语言将使用新值代替旧值,并以新值类型代替旧值类型。在MATLAB语言中变量的命名应遵循如下规则:(1)变量名区分大小写。(2)变量名长度不超31位,第31个字符之后的字符将被MATLAB语言所忽略。202(3)变量名以字母开头,可以是字母、数字、下划线组成,但不能使用标点。与其他的程序设计语言相同,在MATLAB语言中也存在变量作用域的问题。在未加特殊说明的情况下,MATLAB语言将所识别的一切变量视为局部变量,即仅在其使用的M文件内有效。若要将变量定义为全局变量,则应当对变量进行说明,即在该变量前加关键字global。一般来说全局变量均用大写的英文字符表示。MATLAB语言本身也具有一些预定义的变量,这些特殊的变量称为常量。表8.3-1给出了MATLAB语言中经常使用的一些常量值。表8.3-1常量表示数值pi圆周率eps浮点运算的相对精度inf正无穷大NaN表示不定值realmax最大的浮点数i,j虚数单位在MATLAB语言中,定义变量时应避免与常量名重复,以防改变这些常量的值,如果已改变了某外常量的值,可以通过“clear+常量名”命令恢复该常量的初始设定值(当然,也可通过重新启动MATLAB系统来恢复这些常量值)。数字变量的运算及显示格式MALAB是以矩阵为基本运算单元的,而构成数值矩阵的基本单元是数字。为了更好地学习和掌握矩阵的运算,首先对数字的基本知识作简单的介绍。对于简单的数字运算,可以直接在命令窗口中以平常惯用的形式输入,如计算2和3的乘积再加1时,可以直接输入:1+2*3ans=7这里“ans”是指当前的计算结果,若计算时用户没有对表达式设定变量,系统就自动赋当前结果给“ans”变量。用户也可以输入:a=1+2*3a=7203此时系统就把计算结果赋给指定的变量a了。MATLAB语言中数值有多种显示形式,在缺省情况下,若数据为整数,则就以整数表示;若数据为实数,则以保留小数点后4位的精度近似表示。MATLAB语言提供了10种数据显示格式,常用的有下述几种格式:short小数点后4位(系统默认值)long小数点后14位shorte5位指数形式longe15位指数形式MATLAB语言还提供了复数的表达和运算功能。在MATLAB语言中,复数的基本单位表示为i或j。在表达简单数数值时虚部的数值与i、j之间可以不使用乘号,但是如果是表达式,则必须使用乘号以识别虚部符号。字符串字符和字符串运算是各种高级语言必不可少的部分,MATLAB中的字符串是其进行符号运算表达式的基本构成单元。在MATLAB中,字符串和字符数组基本上是等价的;所有的字符串都用单引号进行输入或赋值(当然也可以用函数char来生成)。字符串的每个字符(包括空格)都是字符数组的一个元素。例如:s=’matrixlaboratory’;s=matrixlaboratorysize(s)%size查看数组的维数ans=1178.3.2矩阵及其运算矩阵是MATLAB数据存储的基本单元,而矩阵的运算是MATLAB语言的核心,在MATLAB语言系统中几乎一切运算均是以对矩阵的操作为基础的。下面重点介绍矩阵的生成、矩阵的基本运算和矩阵的数组运算。8.3.2.1矩阵的生成直接输入法从键盘上直接输入矩阵是最方便、最常用的创建数值矩阵的方法,尤其适合较小的简单矩阵。在用此方法创建矩阵时,应当注意以下几点:204●输入矩阵时要以“[]”为其标识符号,矩阵的所有元素必须都在括号内。●矩阵同行元素之间由空格或逗号分隔,行与行之间用分号或回车键分隔。●矩阵大小不需要预先定义。●矩阵元素可以是运算表达式。●若“[]”中无元素表示空矩阵。另外,在MATLAB语言中冒号的作用是最为丰富的。首先,可以用冒号来定义行向量。例如:a=1:0.5:4a=Columns1through711.522.533.54其次,通过使用冒号,可以截取指定矩阵中的部分。例如:A=[123;456;789]A=123456789B=A(1:2,:)B=123456通过上例可以看到B是由矩阵A的1到2行和相应的所有列的元素构成的一个新的矩阵。在这里,冒号代替了矩阵A的所有列。2.外部文件读入法MATLAB语言也允许用户调用在MATLAB环境之外定义的矩阵。可以利用任意的文本编辑器编辑所要使用的矩阵,矩阵元素之间以特定分断符分开,并按行列布置。另外也可以利用load函数,其调用方法为:Load+文件名[参数]Load函数将会从文件名所指定的文件中读取数据,并将输入的数据赋给以文件名命名的变量,如果不给定文件
本文标题:第八章 matlab软件快速入门
链接地址:https://www.777doc.com/doc-3244561 .html