matlab上机实验指导书_第1页
matlab上机实验指导书_第2页
matlab上机实验指导书_第3页
matlab上机实验指导书_第4页
matlab上机实验指导书_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 MATLAB应用基础实验指导书 第一章 MATLAB及其工作环境介绍11.1 MATLAB简介11.2 MATLAB的工作环境介绍11.3 MATLAB的基本管理命令4第二章 MATLAB的数值计算功能52.1 变量与赋值语句52.2 MATLAB矩阵52.3 MATLAB表达式102.4 MATLAB常用数学函数112.5 矩阵的基本运算122.6 数组运算162.7 多项式及其运算17第三章 MATLAB程序设计入门193.1 M文件193.2 数据的输入输出213.3 全局变量和局部变量233.4 程序流程控制23第四章 MATLAB的符号运算功能284.1 建立符号对象284.2 符

2、号算术运算294.3 符号微积分运算324.4 符号函数的可视化34第五章 MATLAB的可视化功能375.1 二维图形375.2绘制三维图形425.3 特殊坐标图形445.4 图形句柄45 第一章 MATLAB及其工作环境介绍1.1 MATLAB简介MATLAB是matrix和laboratory前三个字母的缩写,意思是实验室矩阵。MATLAB语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,自1984年由美国MathWorks公司推向市场以来,经过十多年的发展与完善,MATLAB已发展成为由MATLAB语言、MATLAB工作环境、MATLAB图象处理系统、MATLAB数学函数库和M

3、ATLAB应用程序接口五大部分组成的集数值计算、图形处理、程序开发为一体的功能强大的体系。MATLAB由“主包”和三十多个扩展功能和应用学科性的工具箱组成。MATLAB具有以下基本功能:l 数值计算功能l 符号计算功能l 图形处理及可视化功能l 可视化建模及动态仿真功能MATLAB语言是以矩阵计算为基础的程序设计语言,语法规则简单易学。其指令格式与数学表达式非常相近,用MATLAB编写程序犹如在便笺上列写公式和求解,因而被称为“便笺式”的编程语言。另外,MATLAB还具有功能丰富和完备的数学函数库及工具箱,大量繁杂的数学运算和分析可通过调用MATLAB函数直接求解,大大提高效率,其程序编译和执

4、行速度远远超过了传统的C和FORTRAN语言,因而用MATLAB编写程序,往往可以达到事半功倍的效果。在图形处理方面,MATLAB可以给数据以二维、三维乃至四维的直观表现,并在图形色彩、视角、品性等方面具有较强的渲染和控制能力,使技术人员对大量原始数据的分析变得轻松和得心应手。MATLAB的上述特点,使它深受工程技术人员及科技专家的欢迎,并成为应用学科计算机辅助分析、设计、仿真、教学等领域不可缺少的基础软件。目前MATLAB已成为国际上公认的最优秀的科技应用软件。1.2 MATLAB的工作环境介绍一、 MATLAB的工作环境MATLAB 6.5的工作桌面由标题栏、菜单栏、工具栏、命令窗口、工作

5、空间窗口、当前目录窗口、历史命令窗口及状态栏组成,如图1-1所示。 图1.1 MATLAB工作界面MATLAB的工作环境主要由命令窗(Command Window)、若干个图形窗(Figure window)、文本编辑器(File Editor)和文件管理器组成。各视窗之间的切换可用快捷键Alt+Tab。1命令窗命令窗是人们与MATLAB作人机对话的主要环境,通过它可以键入MATLAB的各种命令并读出相应的结果。但要注意,每一条命令或命令行键入后都要按回车键,命令才会被执行。例如,键入a=ones(3,3)然后按回车键,即可创建一个3*3且元素值为1的矩阵,并显示如下运行结果:a= 1 1 1

6、 1 1 1 1 1 12图形窗通常,只要执行了任意一种绘图命令,图形窗就会自动产生。绘图都在这一图形窗中进行。如果想再建一个图形窗,则可键入figure,MATLAB会新建一个图形窗,并自动给它排出序号。3文本编辑器MATLAB程序编辑有行命令方式和文件方式两种,行命令方式是在命令窗中一行一行地输入程序,计算机每次对一行命令作出反应,像计算器那样,只能编简单的程序,在入门时通常用这种方式。文件方式适用于稍复杂一些的程序,此时把程序写成一个有多行语句组成的文件,让MATLAB来执行这个文件中的全部语句。编写和修改这种文件程序就要用到文件编辑器。4文件管理窗在较为复杂的程序中,特别是涉及与其它软

7、件系统进行文件或数据交换时,需要用到文件管理系统。MATLAB利用了Window操作系统本身的文件管理器。高版本的MATLAB已把MATLAB文件管理所需的功能集成到MATLAB命令窗口中,使用非常方便。二、 获取帮助信息MATLAB为用户提供了强大的在线帮助功能。获取帮助信息有如下两种方式:1 用帮助菜单获取帮助信息l 单击MATLAB命令窗口菜单栏的(Help)菜单项,选择(Help Window)选项,则打开MATLAB帮助主题窗口。该窗口列出了MATLAB的所有帮助主题,双击相关主题即可打开有关该主题的进一步详细说明。l 单击MATLAB命令窗口菜单栏的(Help)菜单栏目,弹出帮助菜

8、单选项,选择(Help Desk)选项,则打开MATLAB帮助工作台。Helpdesk以超文本方式为用户提供帮助信息,从基本的入门帮助到工具箱的使用。用户只需单击工作台中的相关主题,即可获得该主题的超文本格式的详细帮助信息。2 通过命令窗口获取帮助信息通过在命令窗口直接键入帮助命令也可获取MATLAB的在线帮助信息。帮助命令如下:help 列出MATLAB的所有帮助主题helpwin 打开MATLAB的帮助主题窗口helpdesk 打开MATLAB的帮助工作台help help 打开有关如何使用帮助信息的帮助窗口help+函数名(或主题名) 查询函数(或主题)的相关信息三、 使用演示功能(De

9、mo)MATLAB的演示功能可以帮助用户学习和理解MATLAB的应用和强大功能,启动MATLAB的演示程序可通过如下两种方法:(1) 选择(Help)菜单的(Examples and Demos)选项,即可打开MATLAB演示窗口。(2) 在MATLAB的命令窗口中键入命令Demo,也可打开演示程序窗口。四、 MATLAB的退出退出MATLAB,只需在MATLAB命令窗口内键入命令exit或quit,或单击命令窗口的关闭按钮即可。1.3 MATLAB的基本管理命令 一、工作空间(workspace)的概念及操作当MATLAB启动后,系统自动在内存中开辟一块区域用于存储用户在MATLAB命令窗口

10、中定义的变量、运算结果和有关数据。此内存空间称为MATLAB的工作空间(workspace)。工作空间在MATLAB刚启动时为空,此后,用户所定义的变量、运算结果和有关数据均存储在该空间。但用户退出MATLAB后,工作空间的内容将不再保留。为了能将工作空间的内容长期保留下来,MATLAB为用户提供了将工作空间以MAT文件格式保存到磁盘的功能,具体操作如下:(1) 保存工作空间。单击MATLAB命令窗口菜单栏的文件(file)菜单,选择(Save Workspace as)菜单选项,系统打开工作空间保存设置对话框,在该对话框中用户可对工作空间保存的路径和文件名进行设置。(2) 装载工作空间。在使

11、用MATLAB的过程中,如果需要用到上一次已保存的工作空间的变量和数据,可以使用以下操作将已保存的工作空间的变量和数据装载到当前工作空间中。单击MATLAB命令窗口菜单栏的文件(File)菜单,选择(Load Workspace)菜单选项,系统打开工作空间装载设置对话框。在该对话框中选定已保存的工作空间的文件名,单击(打开)按钮,即可将已保存的工作空间的内容装载到当前工作空间。二、 清除变量命令clearclear命令用于清除当前工作空间中的指定或全部变量。其命令格式为:clear %清除当前工作空间中的全部变量clear a b c %清除当前工作空间中的指定变量a、b和c三、 MATLAB

12、工作窗口操作命令clc 擦除工作窗口中所显示的所有内容 clf 擦除当前图形窗口中的图形 exit 关闭并退出MATLAB pack 整理内存碎片以扩大内存空间 cd 改变当前工作目录dir 列出当前目录及该目录下的文件及子目录清单第二章 MATLAB的数值计算功能2.1 变量与赋值语句1. 变量变量代表一个或若干个内存单元,为了对变量所对应的存储单元进行访问,需要给变量命名。在MATLAB中,变量名是以字母开头,后接字母、数字或下划线,字符长度应不大于31个,且区分字母的大小写。MATLAB的变量分为字符变量和数值变量两种。字符变量必须用单引号括起来。例:a=happy new year %

13、表示将字符串happy new year赋值给字符变量ab=365 %表示将数值365赋值给数值变量b2. 赋值语句MATLAB赋值语句有两种形式(1) 变量=表达式(2) 表达式在第一种语句形式下,MATLAB将右边表达式的值赋给左边的变量;在第二种语句形式下,将表达式的值赋给MATLAB的永久变量ans。表达式可以由分号、逗号或回车结束,如果用分号结束,则左边的变量结果将不在屏幕上显示出来,否则将把结果全部显示出来。MATLAB程序(称为M文件)中的语句常以分号结束。在一条语句中,如果表达式太复杂,一行写不下,可以接上三个小黑点(续行符)并按下回车键,然后接下去再写。可以在语句后加上注释。

14、注释以%开头,用于解释或说明,对计算结果不产生任何影响。例2.1 计算表达式的值,并将结果赋给变量a,然后显示出结果。解:在MATLAB命令窗口输入命令: a=2*sin(85*pi/180)/(1+sqrt(5)+3*i) 其中pi和i都是MATLAB定义的变量,分别代表和虚数单位。 该命令的输出结果是: a=0.3311-0.3070i2.2 MATLAB矩阵矩阵是MATLAB最基本的数据对象,MATLAB的大部分运算或命令都是在矩阵运算的意义下执行的。在MATLAB中,不需要对矩阵的维数和类型进行说明,MATLAB会根据用户输入的内容自动进行配置。 2.1.1 矩阵的建立1直接输入法对于

15、较小的简单矩阵,从键盘上直接输入矩阵是最常用、最方便的数值矩阵创建方法。具体方法如下:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。例2.2 生成一个3*3的矩阵只需输入 A=1,2,3;4,5,6;7,8,9 A= 1 2 3 4 5 6 7 8 9 也可以用回车键代替分号,按下列方式输入: A=1 2 3 4 5 6 7 8 9 其结果同上。MATLAB的每一个元素都可以是复数,实数是复数的特例,复数的虚数部分用i或j表示。这是在MATLAB启动时就自动设定的。例如,键入 c=3+5.2i得 c=3.0000+5.20

16、00i对复数矩阵有两种赋值方法:(1) 可将矩阵元素逐个赋予复数,例如,键入z=1+2i, 3+4i; 5+6i, 7+8i 得 z= 1.0000+2.0000i 3.0000+4.0000i 5.0000+6.0000i 7.0000+8.0000i (2) 将矩阵的实部和虚部分别赋值,如 z=1, 3; 5, 7+2, 4; 6, 8*i 两种方法可得出同样结果。注意只有数字和i的乘积式中可省略乘号,在方法(2)中若省略“*”,就会出错。另外,如果在前面其它程序中曾经给i或j赋过值,则i,j已经不是虚数符号,这些虚数赋值语句都不对。此时应键入 clear i,j即把曾赋值过的i,j清掉,

17、恢复为虚数标识符,然后再执行复数赋值语句。2利用MATLAB函数创建矩阵MATLAB为用户提供了创建矩阵的函数,他们是:l ones()函数l zeros()函数l rand()函数 l randn()函数l eye()函数ones()函数用于产生全为1的矩阵,ones(n)产生(n*n)维的全1阵,ones(n,m)产生n行m列的全1阵。zeros()函数用于产生全0的矩阵。rand()函数用于产生0,1区间均匀分布的随机阵。randn()函数用于产生正态分布的矩阵。eye()函数用于产生单位阵,eye(n)产生(n*n)维的单位阵。l 利用函数reshape建立数值矩阵 例,在MATLAB

18、命令窗口输入如下命令:xv=1:12 %产生有12个元素的行向量xvym=reshape(xv, 3, 4) %利用向量xv建立3*4矩阵ym输出结果为xv= 1 2 3 4 5 6 7 8 9 10 11 12ym=1 4 7 102 5 8 113 6 9 123利用外部数据文件(*.mat)保存和装载矩阵在MATLAB的运行过程中,有时需要将矩阵数据长期保留下来,可以使用MAT文件对矩阵数据进行保存,在需要时将其装载到MATLAB环境中。MAT文件是MATLAB保存数据的一种标准格式的二进制文件。MAT文件的生成和调用由专用命令save和load来进行。用户可以将已定义过的矩阵(变量)以

19、MAT文件的格式存入到磁盘上,命令格式为:save 路径文件名 变量save命令可同时将多个矩阵(变量)保存到一个MAT文件中,此时变量名之间需用空格分开。 例如,用户输入命令:save c:my a b 则表示将变量a、b以文件名my.mat保存到C盘根目录下。若路径默认,则MATLAB自动将变量保存到其默认的目录(work)中。以MAT文件保存的矩阵,用户在使用MATLAB的任何时候均可用load命令装载到MATLAB的工作空间中。例如,要将上述保存的变量a、b重新装载到MATLAB的工作空间,只需键入命令:load c:my2.2.2 矩阵元素MATLAB允许用户对一个矩阵的单个元素进行

20、赋值和操作。例如,如果想将矩阵A的第2行第3列的元素赋为200,则可通过下面语句完成: A(2, 3)=200 这时将只改变该元素的值,而不影响其它元素的值。如果给出的行数和列数大于原来矩阵的范围,则MATLAB将自动扩展原来的矩阵,并将扩展后未赋值的矩阵元素置为0。 例如:A=1, 2, 3; 4, 5, 6; A(3, 4)=10 则输出为:1 2 3 04 5 6 00 0 0 102.2.3 向量的生成 在MATLAB系统中,仅有一行或一列的矩阵称为向量,向量是矩阵的一种特例,在MATLAB中除利用前面已介绍过的创建矩阵的方法来生成向量外,还有以下几种方法:1利用冒号“:”运算生成向量

21、l a=m:nl a=m:p:n 第一种格式用于生成步长值为1的均匀等分向量,其中m、n为标量(数量),分别代表向量的起始值和终止值,且nm。例如,输入语句: a=1:10 运行结果为: a=1 2 3 4 5 6 7 8 9 10第二种格式用于生成步长值为p的均匀等分的行向量。利用函数linspace()生产向量l linspace(m, n)l linspace(m, n, s)第一种格式生成从起始值m开始到终止值n之间的线性等分的100个元素的行向量。第二种格式生成s个线性等分点的行向量。例如:linspace(0, 10, 5)ans=0 2.5000 5.0000 7.5000 10

22、.00002.2.4 矩阵拆分1利用冒号表达式获得子矩阵(1) (:,j)表示取A矩阵的第j列全部元素;A(i,:)表示取A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。(2) (i:i+m,:)表示取A矩阵第ii+m行的全部元素;A(:,k:k+m)表示取A矩阵第kk+m列的全部元素;A(i:i+m,k:k+m)表示取A矩阵第ii+m行内,并在第kk+m列中的所有元素。例如: A=1,2,3,4,5;6,7,8,9,10;11,12,13,14,15;16,17,18,19,20; A(2:3,4:5) ans=9 1014 152利用空矩阵删除矩阵的元素在MATLAB

23、中,定义 为空矩阵。向量X赋空矩阵的语句为X= ,X= 与clear X不同,clear是将X清除出工作空间,而空矩阵则存在于工作空间,只是维数为0。将某些行与列从矩阵中移去,采用将其置为空矩阵的方法就是一种有效的方法。例如:A=1 2 3 4 5 6;7 8 9 10 11 12;13 14 15 16 17 18;A(:,2 4)= 其中第二条命令将删除A的第二列和第四列元素。其输出为: A= 1 3 5 6 7 9 11 12 13 15 17 182.2.5 who、whos和永久变量1who和whos who和whos这两个命令的作用都是列出在MATLAB工作空间中已经驻留的变量名清

24、单。但whos在给出驻留变量名的同时,还给出它们的维数和性质。2永久变量在MATLAB工作空间中,还驻留几个由系统本身定义的变量。由于它们不能被clear清除,故称为永久变量。除前面介绍过的ans外,其余常用的永久变量有:eps MATLAB计算浮点数的误差限pi 圆周率的近似值3.979inf或Inf 无穷大,如一个数除以0的结果NaN 非数,例如0/0、inf/inf产生的结果i或j 虚数单位realmax MATLAB所能表示的最大浮点数realmin MATLAB所能表示的最小浮点数2.3 MATLAB表达式2.3.1算术表达式 MATLAB的算术运算符有: +(加)、-(减)、*(乘

25、)、/(右除)、(左除)、(乘方)对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。对于除数是标量的运算,两种除法运算的结果相同,如3/4=43=0.7500; 又如,a=10.5,2.5,则a/5=5a=2.1000,0.5000。2.3.2 关系表达式 MATLAB提供了6种关系运算符: (小于)、(大于)、=(大于或等于)、=(等于)、=(不等于) 运算法则: (1) 当两个比较量是标量时,直接比较两个数的大小。若关系成立,关系表达式结果为1,否则为0。 (2) 当参与比较的量是两个维数相同的矩阵时,比较是对两个矩阵相同位置的元素按标量关系运算规则逐个进行,并给出元素比较

26、结果。最终的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。 (3)当参与比较的一个是标量,另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。最终的运算结果是一个维数与矩阵相同的矩阵,它的元素由0或1组成。 (4)算术运算比关系运算具有更高的优先权。A=1,1,2;2,3,1;4,2,1;B=1,1,1;1,1,1;1,1,1;A);执行该语句时首先给出Enter matrix A=提示,然后等待用户从键盘按MATLAB格式输入A矩阵。如果在input函数调用时采用s选项,则允许用户输入一个字符串。例如想输入一个人的姓名,可采用命令: xm=in

27、put(Whats your mane:,s)例:求一元二次方程ax2+bx+c=0的根。解 程序如下: a=input(a=?); b=input(b=?); c=input(c=?); d=b*b-4*a*c; x=(-b+sqrt(d)/(2*a),(-b-sqrt(d)/(2*a) 运行 a=?2 b=?6 c=?1 x= -0.1771 -2.82292. pause 函数当程序运行时,为了查看程序的中间结果或者观看输出图形,有时需要暂停程序的执行。这时可以使用pause函数,其调用格式为:pause(延迟秒数)若省略延迟时间,直接使用pause,则将暂停程序,直到用户按任一键后程序继续执行。3. disp 函数MATLAB提供的命令窗口输出函数主要有disp函数,其调用格式为:disp(输出项)其中输出项既可以是字符串,也可以是矩阵。例如A=Hello, MATLAB;disp(A)输出为:Hello, MATLAB又如:A=1,2,3;4,5,6;7,8,9;disp(A)输出为: 1 2 3 4 5 6 7 8 9注意,和前面介绍的矩阵显示方式不同,用disp函数显示矩阵时不显示矩阵的名字,而且其格式更紧密,且不留任何没有意义的空行。3.3 全局变量和局部变量用户在命令文件和函数文件中经常要用

温馨提示

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

评论

0/150

提交评论