MATLAB软件基础知识讲义.docx

上传人:小飞机 文档编号:1663091 上传时间:2022-12-13 格式:DOCX 页数:76 大小:176.84KB
返回 下载 相关 举报
MATLAB软件基础知识讲义.docx_第1页
第1页 / 共76页
MATLAB软件基础知识讲义.docx_第2页
第2页 / 共76页
MATLAB软件基础知识讲义.docx_第3页
第3页 / 共76页
MATLAB软件基础知识讲义.docx_第4页
第4页 / 共76页
MATLAB软件基础知识讲义.docx_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《MATLAB软件基础知识讲义.docx》由会员分享,可在线阅读,更多相关《MATLAB软件基础知识讲义.docx(76页珍藏版)》请在三一办公上搜索。

1、 MATLAB软 件 基 础1 MATLAB 概述MATLAB 是MATrix LABoratory(“矩阵实验室”)的缩写,是由美国MathWorks 公司开发的集数值计算、符号计算和图形可视化三大基本功能于一体的,功能强大、操作简单的语言。是国际公认的优秀数学应用软件之一。20世纪80年代初期,Cleve Moler与John Little等利用C语言开发了新一代的MATLAB语言,此时的MATLAB语言已同时具备了数值计算功能和简单的图形处理功能。1984年,Cleve Moler与John Little等正式成立了Mathworks公司,把MATLAB语言推向市场,并开始了对MATLA

2、B工具箱等的开发设计。1993年,Mathworks公司推出了基于个人计算机的MATLAB 4.0版本,到了1997年又推出了MATLAB 5.X版本(Release 11),并在2000年又推出了最新的MATLAB 6版本(Release 12)。现在,MATLAB已经发展成为适合多学科的大型软件,在世界各高校,MATLAB已经成为线性代数、数值分析、数理统计、优化方法、自动控制、数字信号处理、动态系统仿真等高级课程的基本教学工具。特别是最近几年,MATLAB在我国大学生数学建模竞赛中的应用,为参赛者在有限的时间内准确、有效的解决问题提供了有力的保证。概括地讲,整个MATLAB系统由两部分组

3、成,即MATLAB内核及辅助工具箱,两者的调用构成了MATLAB的强大功能。MATLAB语言以数组为基本数据单位,包括控制流语句、函数、数据结构、输入输出及面向对象等特点的高级语言,它具有以下主要特点:1)运算符和库函数极其丰富,语言简洁,编程效率高,MATLAB除了提供和C语言一样的运算符号外,还提供广泛的矩阵和向量运算符。利用其运算符号和库函数可使其程序相当简短,两三行语句就可实现几十行甚至几百行C或FORTRAN的程序功能。2)既具有结构化的控制语句(如for循环、while循环、break语句、if语句和switch语句),又有面向对象的编程特性。3)图形功能强大。它既包括对二维和三维

4、数据可视化、图像处理、动画制作等高层次的绘图命令,也包括可以修改图形及编制完整图形界面的、低层次的绘图命令。4)功能强大的工具箱。工具箱可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互的功能。而学科性工具箱是专业性比较强的,如优化工具箱、统计工具箱、控制工具箱、小波工具箱、图象处理工具箱、通信工具箱等。5)易于扩充。除内部函数外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可修改源文件和加入自己的文件,它们可以与库函数一样被调用。2 MATLAB的安装与启动2.1 MATLAB的安装要用MATL

5、AB 6,首先必须在计算机上安装MATLAB 6应用软件,随着软件功能的不断完善,MATLAB对计算机系统配置的要求越来越高。下面给出安装和运行MATLAB 6 所需要的计算机系统配置。 MATLAB 6对硬件的要求CPU要求:Pentium II、Pentium III、AMD Athlon或者更高;光驱:8倍速以上;内存:至少64MB,但推荐128MB以上;硬盘:视安装方式不同要求不统一,但至少留1GB用于安装(安装后未必有1GB);显卡:8位; MATLAB 6对软件的要求Windows95 、Window98、Windows NT或Windows2000;Word97或word2000

6、等,用于使用MATLAB Notebook;Adobe Acrobat Reader 用于阅读MATLAB的PDF的帮助信息。MATLAB 6的安装和其它应用软件类似,可按照安装向导进行安装,这里不再赘述。2.2 MATLAB的启动和退出与常规的应用软件相同,MATLAB的启动也有多种方式,首先常用的方法就是双击桌面的MATLAB图标,也可以在开始菜单的程序选项中选择MATLAB组件中的快捷方式,当然也可以在MATLAB的安装路径的子目录中选择可执行文件“MATLAB.exe”。 启动MATLAB后,将打开一个MATLAB的欢迎界面,随后打开MATLAB的桌面系统(Desktop)如图2-1所

7、示。图2-1 MATLAB的桌面系统3 MATLAB的开发环境MATLAB的开发环境就是在使用MATLAB的过程中可激活的,并且为用户使用提供支持的集成系统。这里介绍几个比较重要的如:桌面平台系统、帮助系统和数据交换系统。3.1 MATLAB桌面平台桌面平台是各桌面组件的展示平台,默认设置情况下的桌面平台包括6个窗口,具体如下:3.1.1 MATLAB主窗口MATLAB6比早期版本增加了一个主窗口。该窗口不能进行任何计算任务的操作,只用来进行一些整体的环境参数的设置。3.1.2 命令窗口(Command Window)命令窗口是对MATLAB进行操作的主要载体,默认的情况下,启动MATLAB时

8、就会打开命令窗口,显示形式如图1-1所示。一般来说,MATLAB的所有函数和命令都可以在命令窗口中执行。在MATLAB命令窗口中,命令的实现不仅可以由菜单操作来实现,也可以由命令行操作来执行,下面就详细介绍MALTAB命令行操作。实际上,掌握MALAB命令行操作是走入MATLAB世界的第一步,命令行操作实现了对程序设计而言简单而又重要的人机交互,通过对命令行操作,避免了编程序的麻烦,体现了MATLAB所特有的灵活性。例如:在命令窗口中输入sin(pi/5),然后单击回车键,则会得到该表达式的值sin(pi/5)ans=0.5878由例可以看出,为求得表达式的值,只需按照MALAB语言规则将表达

9、式输入即可,结果会自动返回,而不必像其他的程序设计语言那样,编制冗长的程序来执行。当需要处理相当繁琐的计算时,可能在一行之内无法写完表达式,可以换行表示,此时需要使用续行符“”否则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)+ans=5.6713使用续行符之后MATLAB会自动将前一行保留而不加以计算,并与下一行衔接,等待完整输入后再计算整个输入的结果。在MATL

10、AB命令行操作中,有一些键盘按键可以提供特殊而方便的编辑操作。比如:“”可用于调出前一个命令行,“”可调出后一个命令行,避免了重新输入的麻烦。当然下面即将讲到的历史窗口也具有此功能。3.1.3 历史窗口(Command History)历史命令窗口是MATLAB6新增添的一个用户界面窗口,默认设置下历史命令窗口会保留自安装时起所有命令的历史记录,并标明使用时间,以方便使用者的查询。而且双击某一行命令,即在命令窗口中执行该命令。3.1.4 发行说明书窗口(Launch Pad)发行说明书窗口是MATLAB6所特有的,用来说明用户所拥有的Mathworks公司产品的工具包、演示以及帮助信息。当选中

11、该窗口中的某个组件之后,可以打开相应的窗口工具包。3.1.5 当前目录窗口(Current Directory )在当前目录窗口中可显示或改变当前目录,还可以显示当前目录下的文件,包括文件名、文件类型、最后修改时间以及该文件的说明信息等并提供搜索功能。3.1.6 工作空间管理窗口(Workspace)工作空间管理窗口是MATLAB的重要组成部分。在工作空间管理窗口中将显示所有目前保存在内存中的MATLAB变量的变量名、数据结构、字节数以及类型,而不同的变量类型分别对应不同的变量名图标。3.2 MATLAB帮助系统完善的帮助系统是任何应用软件必要的组成部分。MATLAB提供了相当丰富的帮助信息,

12、同时也提供了获得帮助的方法。首先,可以通过桌面平台的【Help】菜单来获得帮助,也可以通过工具栏的帮助选项获得帮助。此外,MATLAB也提供了在命令窗口中的获得帮助的多种方法,在命令窗口中获得MATLAB帮助的命令及说明列于表3-1中。其调用格式为:命令+指定参数表3-1 命 令 说 明 doc在帮助浏览器中显示指定函数的参考信息 help在命令窗口中显示M文件帮助 helpbrowser打开帮助浏览器,无参数 helpwin打开帮助浏览器,并且见初始界面置于MATLAB函数的M文件帮助信息 lookfor在命令窗口中显示具有指定参数特征函数的M文件帮助 web显示指定的网络页面,默认为MAT

13、LAB帮助浏览器例如: help sinSIN SineSIN(X) is the sine of the elements of X Overloaded methodsHelp sym/sin.m另外也可以通过在组件平台中调用演示模型(demo)来获得特殊帮助。3.3 数据交换系统MATLAB提供了多种方法将数据从磁盘或剪贴板中读入MATLAB工作空间。具体的读写方法可依据用户的喜好以及数据的类型来选择。这里主要介绍文本数据的读入。对于文本数据(ASCII)而言,最简单的读入方法就是通过MATLAB的数据输入向导(Import Wizard),也可以通过MATLAB函数实现数据读入。例如,

14、对于文本文件test.txt:students scoresEnglish Chinese MathmaticsWang 99 98 100Li 98 89 70Zhang 80 90 97 Zhao 77 65 87下面通过上述两种方法将该文件数据读入MATLAB工作空间,先介绍MATLAB数据交换系统对文本数据的识别。此时文件的前几行(此处为“students scores”)将被识别为文件头,文件头可以为一行或几行,也可以识别出数据的列头(此处为:“English”、“Chinese”、和“Mathmatics”)和行头(此处为“wang”、“li”、“zhang”和“zhao”),其余

15、的为可分断数据(此处为“99”、“98”、和“100”等)。首先是通过数据输入向导编辑器读入数据,通过桌面平台上的【File】菜单中的【Import Data】选项打开输入向导编辑器,按向导提示进行操作完成整个文本数据的输入,则用户可以在MATLAB开发环境中使用该文本数据。例如:whosName Size Bytes ClassData 43 96 double arrayGrand total is 12 elements using 96 bytes DataData = 98 100i. 89 70 80 90 9777 65 87“whos”用于显示当前MATLAB工作空间的变量,而

16、在命令窗口中输入data 后,将显示该数据。在命令窗口或M 文件中调用相应的函数也可以实现数据的读入。例如: a,b,c,d=textread(text.txt, %s %s %s %s, headlines, 2) (读者可亲自上机看结果)4 MATLAB数值计算功能MATLAB强大的数值计算功能使其在诸多数学计算软件中傲视群雄,是MATLAB软件的基础。本节将简要介绍MATLAB的数据类型、矩阵的建立及运算。4.1 MATLAB 数据类型MATLAB的数据类型主要包括:数字、字符串、矩阵、单元型数据及结构型数据等,限于篇幅我们将重点介绍其中几个常用类型。4.1.1 变量与常量变量是任何程序

17、设计语言的基本要素之一,MATLAB语言当然也不例外。与常规的程序设计语言不同的MATLAB并不要求事先对所使用的变量进行声明,也不需要指定变量类型,MATLAB语言会自动依据所赋予变量的值或对变量所进行的操作来识别变量的类型。在赋值过程中如果赋值变量已存在时,MATLAB语言将使用新值代替旧值,并以新值类型代替旧值类型。在MATLAB语言中变量的命名应遵循如下规则:(1)变量名区分大小写。(2)变量名长度不超31位,第31个字符之后的字符将被MATLAB语言所忽略。(3)变量名以字母开头,可以是字母、数字、下划线组成,但不能使用标点。与其他的程序设计语言相同,在MATLAB语言中也存在变量作

18、用域的问题。在未加特殊说明的情况下,MATLAB语言将所识别的一切变量视为局部变量,即仅在其使用的M文件内有效。若要将变量定义为全局变量,则应当对变量进行说明,即在该变量前加关键字global。一般来说全局变量均用大写的英文字符表示。MATLAB语言本身也具有一些预定义的变量,这些特殊的变量称为常量。表4-1给出了MATLAB语言中经常使用的一些常量值。表4-1 常 量 表 示 数 值 pi圆周率 eps浮点运算的相对精度 inf正无穷大 NaN表示不定值 realmax最大的浮点数 i, j虚数单位在MATLAB语言中,定义变量时应避免与常量名重复,以防改变这些常量的值,如果已改变了某外常量

19、的值,可以通过“clear+常量名”命令恢复该常量的初始设定值(当然,也可通过重新启动MATLAB系统来恢复这些常量值)。4.1.2 数字变量的运算及显示格式MALAB是以矩阵为基本运算单元的,而构成数值矩阵的基本单元是数字。为了更好地学习和掌握矩阵的运算,首先对数字的基本知识作简单的介绍。对于简单的数字运算,可以直接在命令窗口中以平常惯用的形式输入,如计算2和3的乘积再加1时,可以直接输入: 1+2*3ans= 7这里“ans”是指当前的计算结果,若计算时用户没有对表达式设定变量,系统就自动赋当前结果给“ans”变量。用户也可以输入: a=1+2*3a= 7此时系统就把计算结果赋给指定的变量

20、a了。MATLAB语言中数值有多种显示形式,在缺省情况下,若数据为整数,则就以整数表示;若数据为实数,则以保留小数点后4位的精度近似表示。MATLAB语言提供了10种数据显示格式,常用的有下述几种格式:short 小数点后4位(系统默认值)long 小数点后14位short e 5位指数形式long e 15位指数形式MATLAB语言还提供了复数的表达和运算功能。在MATLAB语言中,复数的基本单位表示为i或j。在表达简单数数值时虚部的数值与i、j之间可以不使用乘号,但是如果是表达式,则必须使用乘号以识别虚部符号。4.1.3 字符串字符和字符串运算是各种高级语言必不可少的部分,MATLAB中的

21、字符串是其进行符号运算表达式的基本构成单元。在MATLAB中,字符串和字符数组基本上是等价的;所有的字符串都用单引号进行输入或赋值(当然也可以用函数char来生成)。字符串的每个字符(包括空格)都是字符数组的一个元素。例如: s=matrix laboratory; s= matrix laboratory size(s) % size查看数组的维数ans=1 17另外,由于MATLAB对字符串的操作与C语言几乎完全相同这里不在赘述。4.2 矩阵及其运算 矩阵是MATLAB数据存储的基本单元,而矩阵的运算是MATLAB语言的核心,在MATLAB语言系统中几乎一切运算均是以对矩阵的操作为基础的。

22、下面重点介绍矩阵的生成、矩阵的基本运算和矩阵的数组运算。 4.2.1 矩阵的生成直接输入法从键盘上直接输入矩阵是最方便、最常用的创建数值矩阵的方法,尤其适合较小的简单矩阵。在用此方法创建矩阵时,应当注意以下几点: 输入矩阵时要以“ ”为其标识符号,矩阵的所有元素必须都在括号内。 矩阵同行元素之间由空格或逗号分隔,行与行之间用分号或回车键分隔。 矩阵大小不需要预先定义。 矩阵元素可以是运算表达式。 若“ ”中无元素表示空矩阵。另外,在MATLAB语言中冒号的作用是最为丰富的。首先,可以用冒号来定义行向量。例如: a=1:0.5:4a= Columns through 7 1 1.5 2 2.5

23、3 3.5 4其次,通过使用冒号,可以截取指定矩阵中的部分。例如: A=1 2 3;4 5 6;7 8 9 A= 1 2 3 4 5 6 7 8 9 B=A (1:2, : )B= 1 2 3 4 5 6通过上例可以看到B是由矩阵A的1到2行和相应的所有列的元素构成的一个新的矩阵。在这里,冒号代替了矩阵A的所有列。2外部文件读入法MATLAB语言也允许用户调用在MATLAB环境之外定义的矩阵。可以利用任意的文本编辑器编辑所要使用的矩阵,矩阵元素之间以特定分断符分开,并按行列布置。读入矩阵的一种方法可参考3.3节数据交换系统。另外也可以利用load函数,其调用方法为: Load+文件名参数Loa

24、d函数将会从文件名所指定的文件中读取数据,并将输入的数据赋给以文件名命名的变量,如果不给定文件名,则将自动认为matlab.mat文件为操作对象,如果该文件在MATLAB搜索路径中不存在时,系统将会报错。例如: 事先在记事本中建立文件: 1 1 1 (并以data1.txt保存) 1 2 3 1 3 6在MATLAB命令窗口中输入: load data1.txt data1 data1= 1 1 1 1 2 3 1 3 63特殊矩阵的生成对于一些比较特殊的矩阵(单位阵、矩阵中含1或0较多),由于其具有特殊的结构,MATLAB提供了一些函数用于生成这些矩阵。常用的有下面几个:zeros(m) 生

25、成m阶全0矩阵eye(m) 生成m阶单位矩阵ones(m) 生成m阶全1矩阵rand(m) 生成m阶均匀分布的随机阵randn(m) 生成m阶正态分布的随机矩阵4.2.2 矩阵的基本数学运算矩阵的基本数学运算包括矩阵的四则运算、与常数的运算、逆运算、行列式运算、秩运算、特征值运算等基本函数运算,这里进行简单介绍。1四则运算矩阵的加、减、乘运算符分别为“+,*” ,用法与数字运算几乎相同,但计算时要满足其数学要求(如:同型矩阵才可以加、减)。在MATLAB中矩阵的除法有两种形式:左除“”和右除“/”。在传统的MATLAB算法中,右除是先计算矩阵的逆再相乘,而左除则不需要计算逆矩阵直接进行除运算。

26、通常右除要快一点,但左除可避免被除矩阵的奇异性所带来的麻烦。在MATLAB6中两者的区别不太大。2与常数的运算 常数与矩阵的运算即是同该矩阵的每一元素进行运算。但需注意进行数除时,常数通常只能做除数。3基本函数运算 矩阵的函数运算是矩阵运算中最实用的部分,常用的主要有以下几个:det(a) 求矩阵a的行列式eig(a) 求矩阵a的特征值inv(a)或a (-1) 求矩阵a的逆矩阵rank(a) 求矩阵a的秩trace(a) 求矩阵a的迹(对角线元素之和)例如: a=2 1 3 1; 3 1 0 7; -1 2 4 2; 1 0 1 5; a1=det(a); a2=det(inv(a); a1

27、*a2 ans= 1注意:命令行后加“;”表示该命令执行但不显示执行结果。4.2.2 矩阵的数组运算我们在进行工程计算时常常遇到矩阵对应元素之间的运算。这种运算不同于前面讲的数学运算,为有所区别,我们称之为数组运算。1基本数学运算数组的加、减与矩阵的加、减运算完全相同。而乘除法运算有相当大的区别,数组的乘除法是指两同维数组对应元素之间的乘除法,它们的运算符为“.*”和“./”或“.”。前面讲过常数与矩阵的除法运算中常数只能做除数。在数组运算中有了“对应关系”的规定,数组与常数之间的除法运算没有任何限制。另外,矩阵的数组运算中还有幂运算(运算符为 . )、指数运算(exp)、对数运算(log)、

28、和开方运算(sqrt)等。有了“对应元素”的规定,数组的运算实质上就是针对数组内部的每个元素进行的。例如: a=2 1 -3 -1; 3 1 0 7; -1 2 4 -2; 1 0 -1 5; a3 ans=32 -28 -101 3499 -12 -151 239-1 49 93 851 -17 -98 139 a .3 ans=8 1 -27 -127 1 0 343-1 8 64 -8 1 0 -1 125由上例可见矩阵的幂运算与数组的幂运算有很大的区别。2逻辑关系运算 逻辑运算是MATLAB中数组运算所特有的一种运算形式,也是几乎所有的高级语言普遍适用的一种运算。它们的具体符号、功能及

29、用法见表4-2。表4-2符号运算符功 能函 数 名= =等于eq =不等于ne大于gt=大于等于ge&逻辑与and|逻辑或or逻辑非not 说明: 在关系比较中,若比较的双方为同维数组,则比较的结果也是同维数组。它的元素值由0和1组成。当比较双方对应位置上的元素值满足比较关系时,它的对应值为1,否则为0。 当比较的双方中一方为常数,另一方为一数组,则比较的结果与数组同维。 在算术运算、比较运算和逻辑与、或、非运算中,它们的优先级关系先后为: 比较运算、算术运算、逻辑与或非运算。例如: a=1 2 3; 4 5 6; 7 8 9; x=5; y= ones(3)*5; xa= x b=0 1 0

30、; 1 0 1; 0 0 1; ab=a&bab= 0 1 0 1 0 1 0 0 15 MATLAB图形功能MATLAB有很强的图形功能,可以方便地实现数据的视觉化。强大的计算功能与图形功能相结合为MATLAB在科学技术和教学方面的应用提供了更加广阔的天地。下面着重介绍二维图形的画法,对三维图形只作简单叙述。5.1 二维图形的绘制5.1.1 基本形式二维图形的绘制是MATLAB语言图形处理的基础,MATLAB最常用的画二维图形的命令是plot,看两个简单的例子: y=0 0.58 0.70 0.95 0.83 0.25; plot(y)生成的图形见图5-1,是以序号为横坐标、数组y的数值为纵

31、坐标画出的折线。 x=linspace(0,2*pi,30); % 生成一组线性等距的数值 y=sin(x); plot(x,y)生成的图形见图5-2,是上30个点连成的光滑的正弦曲线。 图5-1 图5-25.1.2 多重线在同一个画面上可以画许多条曲线,只需多给出几个数组,例如 x=0:pi/15:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,x,y2)则可以画出图5-3。多重线的另一种画法是利用hold命令。在已经画好的图形上,若设置hold on,MATLA将把新的plot命令产生的图形画在原来的图形上。而命令hold off 将结束这个过程。例如: x=l

32、inspace(0,2*pi,30); y=sin(x); plot(x,y)先画好图5-2,然后用下述命令增加cos(x)的图形,也可得到图5-3。 hold on z=cos(x); plot(x,z) hold off 图5-3 图5-4 5.1.3 线型和颜色MATLAB对曲线的线型和颜色有许多选择,标注的方法是在每一对数组后加一个字符串参数,说明如下:线型 线方式: - 实线 :点线 -. 虚点线 - - 波折线。线型 点方式: . 圆点 +加号 * 星号 x x形 o 小圆颜色: y黄; r红; g绿; b蓝; w白; k黑; m紫; c青.以下面的例子说明用法: x=0:pi/1

33、5:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,b:+,x,y2,g-.*)可得图形5-4。5.1.4 网格和标记在一个图形上可以加网格、标题、x轴标记、y轴标记,用下列命令完成这些工作。 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,x,z) grid xlabel(Independent Variable X) ylabel(Dependent Variables Y and Z) title(Sine and Cosine Curves)它们产生图5-5: 图5-5也可以在图形的任何位置加上一个字符

34、串,如用: text(2.5,0.7,sinx)表示在坐标x=2.5, y=0.7处加上字符串sinx。更方便的是用鼠标来确定字符串的位置,方法是输入命令: gtext(sinx)在图形窗口十字线的交点是字符串的位置,用鼠标点一下就可以将字符串放在那里。5.1.5 坐标系的控制在缺省情况下MATLAB自动选择图形的横、纵坐标的比例,如果你对这个比例不满意,可以用axis命令控制,常用的有:axis(xmin xmax ymin ymax) 中分别给出x轴和y轴的最大值、最小值axis equal 或 axis(equal) x轴和y轴的单位长度相同axis square 或 axis(squa

35、re) 图框呈方形axis off 或 axis(off) 清除坐标刻度还有axis auto axis image axis xy axis ij axis normal axis on axis(axis)用法可参考在线帮助系统。5.1.6 多幅图形可以在同一个画面上建立几个坐标系, 用subplot(m,n,p)命令;把一个画面分成mn个图形区域, p代表当前的区域号,在每个区域中分别画一个图,如 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); u=2*sin(x).*cos(x); v=sin(x)./cos(x); subplot(2,2,1),

36、plot(x,y),axis(0 2*pi 1 1),title(sin(x) subplot(2,2,2),plot(x,z),axis(0 2*pi 1 1),title(cos(x) subplot(2,2,3),plot(x,u),axis(0 2*pi 1 1),title(2sin(x)cos(x) subplot(2,2,4),plot(x,v),axis(0 2*pi 20 20),title(sin(x)/cos(x)共得到4幅图形,见图5-6. 图5-65.2 三维图形限于篇幅这里只对几种常用的命令通过例子作简单介绍.5.2.1 带网格的曲面例 作曲面z=f(x,y)的图形

37、 用以下程序实现: x=-7.5:0.5;7.5; y=x; X,Y=meshgrid(x,y); (3维图形的X,Y数组) R=sqrt(X.2+Y.2)+eps; (加eps是防止出现0/0) Z=sin(R)./R; mesh(X,Y,Z) (3维网格表面)画出的图形如图5-7. mesh命令也可以改为surf, 只是图形效果有所不同,读者可以上机查看结果。 图5-7 图5-8 5.2.2 空间曲线例 作螺旋线 x=sint, y=cost, z=t用以下程序实现: t=0:pi/50:10*pi; plot3(sin(t),cos(t),t) (空间曲线作图函数, 用法类似于plot)

38、画出的图形如图5-85.2.3 等高线用contour 或 contour3 画曲面的等高线,如对图5-7的曲面, 在上面的程序后接contour(X,Y,Z,10) 即可得到10条等高线。5.2.4 其它较有用的是给三维图形指定观察点的命令view(azi,ele),azi 是方位角, ele 是仰角.缺省时 azi=ele=. 5.3 图形的输出在数学建模中,往往需要将产生的图形输出到Word文档中。通常可采用下述方法:首先,在MATLAB图形窗口中选择【File】菜单中的【Export】选项,将打开图形输出对话框,在该对话框中可以把图形以emf、bmp、jpg、pgm等格式保存。然后,再

39、打开相应的文档,并在该文档中选择【插入】菜单中的【图片】选项插入相应的图片即可。6 程序设计 MATLAB作为一种高级语言,它不仅可以如前几节所介绍的那样,以一种人机交互式的命令行的方式工作,还可以像BASIC、FORTRAN、C等其他高级计算机语言一样进行控制流的程序设计,即编制一种以 . m为扩展名的MATLAB程序(简称M文件)。而且,由于MATLAB本身的一些特点,M文件的编制同上述几种高级语言比较起来,有许多无法比拟的优点。6.1 M文件所谓M文件就是由MATLAB语言编写的可在MATLAB语言环境下运行程序源代码文件。由于商用的MATLAB软件是用C语言编写而成。因此,M文件的语法

40、与C语言十分相似。对广大参加建模竞赛且学过C语言的同学来说,M文件的编写是相当容易的。M文件可以分为脚本文件(Script)和函数文件(Function)两种。M文件不仅可以在MATLAB的程序编辑器中编写,也可以在其他的文本编辑器中编写,并以“m”为扩展名加以存储。6.1.1 脚本文件脚本类似于DOS下的批处理文件,不需要在其中输入参数,也不需要给出输出变量来接受处理结果,脚本仅是若干命令或函数的集合,用于执行特定的功能。脚本的操作对象为MATLAB工作空间内的变量,并且在脚本执行结束后,脚本中对变量的一切操作均会被保留。在MATLAB语言中也可以在脚本内部定义变量,并且该变量将会自动地被加入到当前的MATLAB工作空间中,并可以为其他的脚本或函数引用,直到MATLAB被关闭或采用一定的命令将其删除。例如:%命令窗口中定义矩阵a,ba=pascal(3)a=1 1 11 2 31 3 6b=magic(3)b= 8 1 6 3 5 7 4 9 2% 在编辑器中编写下述命令 a=a+b

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号