版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章MATLAB操作根底
1.1MATLAB概述
1.2MATLAB的运行环境与安装
1.3MATLAB集成环境
1.4MATLAB帮助系统1.1MATLAB概述1.1.1MATLAB的开展
1984年,MATLAB第1版(DOS版)
1992年,MATLAB4.0版
1994年,MATLAB4.2版
1997年,MATLAB5.0版
1999年,MATLAB5.3版
2000年,MATLAB6.0版
2001年,MATLAB6.1版
2002年,MATLAB6.5版
2004年,MATLAB7.0版1.1.2MATLAB的主要功能
1.数值计算和符号计算功能
MATLAB以矩阵作为数据操作的根本单位,还提供了十分丰富的数值计算函数。
MATLAB和著名的符号计算语言Maple相结合,使得MATLAB具有符号计算功能。2.绘图功能
MATLAB提供了两个层次的绘图操作:一种是对图形句柄进行的低层绘图操作,另一种是建立在低层绘图操作之上的高层绘图操作。3.编程语言
MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。
4.MATLAB工具箱
MATLAB包含两局部内容:根本局部和各种可选的工具箱。
MATLAB工具箱分为两大类:功能性工具箱和学科性工具箱。1.1.3初识MATLAB
例1-1绘制正弦曲线和余弦曲线。
x=[0:0.5:360]*pi/180;
plot(x,sin(x),x,cos(x));
例1-2求方程3x4+7x3+9x2-23=0的全部根。
p=[3,7,9,0,-23];%建立多项式系数向量
x=roots(p)%求根例1-3求积分
quad('x.*log(1+x)',0,1)
例1-4求解线性方程组。
a=[2,-3,1;8,3,2;45,1,-9];
b=[4;2;17];
x=inv(a)*b启动MATLAB后,将进入MATLAB6.5集成环境。MATLAB6.5集成环境包括MATLAB主窗口、命令窗口(CommandWindow)、工作空间窗口(Workspace)、命令历史窗口(CommandHistory)、当前目录窗口(CurrentDirectory)和启动平台窗口(LaunchPad)。当MATLAB安装完毕并首次启动时,展现在屏幕上的界面为MATLAB的默认界面,如右图所示。2.MATLAB系统的退出
要退出MATLAB系统,也有3种常见方法:
(1)在MATLAB主窗口File菜单中选择ExitMATLAB命令。
(2)在MATLAB命令窗口输入Exit或Quit命令。
(3)单击MATLAB主窗口的“关闭”按钮。1.3.2主窗口
MATLAB主窗口是MATLAB的主要工作界面。主窗口除了嵌入一些子窗口外,还主要包括菜单栏和工具栏。
1.菜单栏
在MATLAB6.5主窗口的菜单栏,共包含File、Edit、View、Web、Window和Help6个菜单项。(1)File菜单项:File菜单项实现有关文件的操作。
(2)Edit菜单项:Edit菜单项用于命令窗口的编辑操作。
(3)View菜单项:View菜单项用于设置MATLAB集成环境的显示方式。(4)Web菜单项:Web菜单项用于设置MATLAB的Web操作。
(5)Window菜单项:主窗口菜单栏上的Window菜单,只包含一个子菜单Closeall,用于关闭所有翻开的编辑器窗口,包括M-file、Figure、Model和GUI窗口。
(6)Help菜单项:Help菜单项用于提供帮助信息。2.工具栏
MATLAB6.5主窗口的工具栏共提供了10个命令按钮。这些命令按钮均有对应的菜单命令,但比菜单命令使用起来更快捷、方便。1.3.3命令窗口
命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。
MATLAB命令窗口中的“>>”为命令提示符,表示MATLAB正在处于准备状态。在命令提示符后键入命令并按下回车键后,MATLAB就会解释执行所输入的命令,并在命令后面给出计算结果。一般来说,一个命令行输入一条命令,命令行以回车结束。但一个命令行也可以输入假设干条命令,各命令之间以逗号分隔,假设前一命令后带有分号,那么逗号可以省略。例如
p=15,m=35
p=15;m=35
如果一个命令行很长,一个物理行之内写不下,可以在第一个物理行之后加上3个小黑点并按下回车键,然后接着下一个物理行继续写命令的其他局部。3个小黑点称为续行符,即把下面的物理行看作该行的逻辑继续。
在MATLAB里,有很多的控制键和方向键可用于命令行的编辑。1.3.4工作空间窗口
工作空间是MATLAB用于存储各种变量和结果的内存空间。在该窗口中显示工作空间中所有变量的名称、大小、字节数和变量类型说明,可对变量进行观察、编辑、保存和删除。1.3.5当前目录窗口和搜索路径
1.当前目录窗口
当前目录是指MATLAB运行文件时的工作目录,只有在当前目录或搜索路径下的文件、函数可以被运行或调用。
在当前目录窗口中可以显示或改变当前目录,还可以显示当前目录下的文件并提供搜索功能。
将用户目录设置成当前目录也可使用cd命令。例如,将用户目录c:\mydir设置为当前目录,可在命令窗口输入命令:
cdc:\mydir1.3.6命令历史记录窗口
在默认设置下,历史记录窗口中会自动保存自安装起所有用过的命令的历史记录,并且还标明了使用时间,从而方便用户查询。而且,通过双击命令可进行历史命令的再运行。如果要去除这些历史记录,可以选择Edit菜单中的ClearCommandHistory命令。
1.4MATLAB帮助系统1.4.1帮助窗口
进入帮助窗口可以通过以下3种方法:
(1)单击MATLAB主窗口工具栏中的Help按钮。
(2)在命令窗口中输入helpwin、helpdesk或doc。
(3)选择Help菜单中的“MATLABHelp”选项。1.4.2帮助命令
MATLAB帮助命令包括help、lookfor以及模糊查询。
1.help命令
在MATLAB6.5命令窗口中直接输入help命令将会显示当前帮助系统中所包含的所有工程,即搜索路径中所有的目录名称。同样,可以通过help加函数名来显示该函数的帮助说明。第2章MATLAB矩阵及其运算
2.1变量和数据操作
2.2MATLAB矩阵
2.3MATLAB运算
2.4矩阵分析
2.5矩阵的超越函数
2.6字符串
2.7结构数据和单元数据
2.8稀疏矩阵2.1变量和数据操作2.1.1变量与赋值
1.变量命名
在MATLAB6.5中,变量名是以字母开头,后接字母、数字或下划线的字符序列,最多63个字符。在MATLAB中,变量名区分字母的大小写。2.赋值语句
(1)变量=表达式
(2)表达式
其中表达式是用运算符将有关运算量连接起来的式子,其结果是一个矩阵。例2-1计算表达式的值,并显示计算结果。
在MATLAB命令窗口输入命令:
x=1+2i;
y=3-sqrt(17);
z=(cos(abs(x+y))-sin(78*pi/180))/(x+abs(y))
其中pi和i都是MATLAB预先定义的变量,分别代表代表圆周率π和虚数单位。
输出结果是:
z=
-0.3488+0.3286iclear命令用于删除MATLAB工作空间中的变量。who和whos这两个命令用于显示在MATLAB工作空间中已经驻留的变量名清单。who命令只显示出驻留变量的名称,whos在给出变量名的同时,还给出它们的大小、所占字节数及数据类型等信息。2.1.4MATLAB常用数学函数
MATLAB提供了许多数学函数,函数的自变量规定为矩阵变量,运算法那么是将函数逐项作用于矩阵的元素上,因而运算的结果是一个与自变量同维数的矩阵。
函数使用说明:
(1)三角函数以弧度为单位计算。
(2)abs函数可以求实数的绝对值、复数的模、字符串的ASCII码值。
(3)用于取整的函数有fix、floor、ceil、round,要注意它们的区别。
(4)rem与mod函数的区别。rem(x,y)和mod(x,y)要求x,y必须为相同大小的实矩阵或为标量。2.1.5数据的输出格式
MATLAB用十进制数表示一个常数,具体可采用日常记数法和科学记数法两种表示方法。
在一般情况下,MATLAB内部每一个数据元素都是用双精度数来表示和存储的。数据输出时用户可以用format命令设置或改变数据输出格式。format命令的格式为:
format格式符
其中格式符决定数据的输出格式2.2MATLAB矩阵2.2.1矩阵的建立
1.直接输入法
最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。具体方法如下:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。3.利用冒号表达式建立一个向量
冒号表达式可以产生一个行向量,一般格式是:
e1:e2:e3
其中e1为初始值,e2为步长,e3为终止值。
在MATLAB中,还可以用linspace函数产生行向量。其调用格式为:
linspace(a,b,n)
其中a和b是生成向量的第一个和最后一个元素,n是元素总数。
显然,linspace(a,b,n)与a:(b-a)/(n-1):b等价。
4.建立大矩阵
大矩阵可由方括号中的小矩阵或向量建立起来。2.2.2矩阵的拆分
1.矩阵元素
通过下标引用矩阵的元素,例如
A(3,2)=200
采用矩阵元素的序号来引用矩阵元素。矩阵元素的序号就是相应元素在内存中的排列顺序。在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依次类推。例如
A=[1,2,3;4,5,6];
A(3)
ans=
2
显然,序号(Index)与下标(Subscript)是一一对应的,以m×n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。其相互转换关系也可利用sub2ind和ind2sub函数求得。2.矩阵拆分
(1)利用冒号表达式获得子矩阵
①A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。
②A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。
此外,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。(2)利用空矩阵删除矩阵的元素
在MATLAB中,定义[]为空矩阵。给变量X赋空矩阵的语句为X=[]。注意,X=[]与clearX不同,clear是将X从工作空间中删除,而空矩阵那么存在于工作空间中,只是维数为0。2.2.3特殊矩阵
1.通用的特殊矩阵
常用的产生通用特殊矩阵的函数有:
zeros:产生全0矩阵(零矩阵)。
ones:产生全1矩阵(幺矩阵)。
eye:产生单位矩阵。
rand:产生0~1间均匀分布的随机矩阵。
randn:产生均值为0,方差为1的标准正态分布随机矩阵。2.3MATLAB运算
算术运算
1.根本算术运算
MATLAB的根本算术运算有:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)。
注意,运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。(1)矩阵加减运算
假定有两个矩阵A和B,那么可以由A+B和A-B实现矩阵的加减运算。运算规那么是:假设A和B矩阵的维数相同,那么可以执行矩阵的加减运算,A和B矩阵的相应元素相加减。如果A与B的维数不相同,那么MATLAB将给出错误信息,提示用户两个矩阵的维数不匹配。(2)矩阵乘法
假定有两个矩阵A和B,假设A为m×n矩阵,B为n×p矩阵,那么C=A*B为m×p矩阵。(3)矩阵除法
在MATLAB中,有两种矩阵除法运算:\和/,分别表示左除和右除。如果A矩阵是非奇异方阵,那么A\B和B/A运算可以实现。A\B等效于A的逆左乘B矩阵,也就是inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A)。
对于含有标量的运算,两种除法运算的结果相同,如3/4和4\3有相同的值,都等于0.75。又如,设a=[10.5,25],那么a/5=5\a=[2.10005.0000]。对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。对于矩阵运算,一般A\B≠B/A。(4)矩阵的乘方
一个矩阵的乘方运算可以表示成A^x,要求A为方阵,x为标量。
2.点运算
在MATLAB中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算。点运算符有.*、./、.\和.^。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。2.3.2关系运算
MATLAB提供了6种关系运算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)。它们的含义不难理解,但要注意其书写方法与数学中的不等式符号不尽相同。关系运算符的运算法那么为:
(1)当两个比较量是标量时,直接比较两数的大小。假设关系成立,关系表达式结果为1,否那么为0。
(2)当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规那么逐个进行,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。2.3.3逻辑运算
MATLAB提供了3种逻辑运算符:&(与)、|(或)和~(非)。
逻辑运算的运算法那么为:
(1)在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示。
(2)设参与逻辑运算的是两个标量a和b,那么,
a&ba,b全为非零时,运算结果为1,否那么为0。
a|ba,b中只要有一个非零,运算结果为1。
~a当a是零时,运算结果为1;当a非零时,运算结果为0。(5)逻辑非是单目运算符,也服从矩阵运算规那么。
(6)在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。例2-9建立矩阵A,然后找出大于4的元素的位置。
(1)建立矩阵A。
A=[4,-65,-54,0,6;56,0,67,-45,0]
(2)找出大于4的元素的位置。
find(A>4)2.4矩阵分析
2.4.1对角阵与三角阵
1.对角阵
只有对角线上有非0元素的矩阵称为对角矩阵,对角线上的元素相等的对角矩阵称为数量矩阵,对角线上的元素都为1的对角矩阵称为单位矩阵。2.三角阵
三角阵又进一步分为上三角阵和下三角阵,所谓上三角阵,即矩阵的对角线以下的元素全为0的一种矩阵,而下三角阵那么是对角线以上的元素全为0的一种矩阵。(1)上三角矩阵
求矩阵A的上三角阵的MATLAB函数是triu(A)。
triu(A)函数也有另一种形式triu(A,k),其功能是求矩阵A的第k条对角线以上的元素。例如,提取矩阵A的第2条对角线以上的元素,形成新的矩阵B。
(2)下三角矩阵
在MATLAB中,提取矩阵A的下三角矩阵的函数是tril(A)和tril(A,k),其用法与提取上三角矩阵的函数triu(A)和triu(A,k)完全相同。2.4.2矩阵的转置与旋转
1.矩阵的转置
转置运算符是单撇号(‘)。
2.矩阵的旋转
利用函数rot90(A,k)将矩阵A旋转90º的k倍,当k为1时可省略。2.4.3矩阵的逆与伪逆
1.矩阵的逆
对于一个方阵A,如果存在一个与其同阶的方阵B,使得:
A·B=B·A=I(I为单位矩阵)
那么称B为A的逆矩阵,当然,A也是B的逆矩阵。
求一个矩阵的逆是一件非常烦琐的工作,容易出错,但在MATLAB中,求一个矩阵的逆非常容易。求方阵A的逆矩阵可调用函数inv(A)。
例2-11用求逆矩阵的方法解线性方程组。
Ax=b
其解为:
x=A-1b2.6字符串
在MATLAB中,字符串是用单撇号括起来的字符序列。
MATLAB将字符串当作一个行向量,每个元素对应一个字符,其标识方法和数值向量相同。也可以建立多行字符串矩阵。字符串是以ASCII码形式存储的。abs和double函数都可以用来获取字符串矩阵所对应的ASCII码数值矩阵。相反,char函数可以把ASCII码矩阵转换为字符串矩阵。第3章MATLAB程序设计3.1M文件3.2程序控制结构3.3函数文件3.4程序举例3.5程序调试3.1M文件3.1.1M文件概述用MATLAB语言编写的程序,称为M文件。M文件可以根据调用方式的不同分为两类:命令文件(ScriptFile)和函数文件(FunctionFile)。例3-1分别建立命令文件和函数文件,将华氏温度f转换为摄氏温度c。程序1:首先建立命令文件并以文件名f2c.m存盘。clear;%去除工作空间中的变量f=input('InputFahrenheittemperature:');c=5*(f-32)/9然后在MATLAB的命令窗口中输入f2c,将会执行该命令文件,执行情况为:InputFahrenheittemperature:73c=22.7778程序2:首先建立函数文件f2c.m。functionc=f2c(f)c=5*(f-32)/9然后在MATLAB的命令窗口调用该函数文件。clear;y=input('InputFahrenheittemperature:');x=f2c(y)输出情况为:InputFahrenheittemperature:70c=21.1111x=21.11113.1.2M文件的建立与翻开M文件是一个文本文件,它可以用任何编辑程序来建立和编辑,而一般常用且最为方便的是使用MATLAB提供的文本编辑器。1.建立新的M文件为建立新的M文件,启动MATLAB文本编辑器有3种方法:(1)菜单操作。从MATLAB主窗口的File菜单中选择New菜单项,再选择M-file命令,屏幕上将出现MATLAB文本编辑器窗口。(2)命令操作。在MATLAB命令窗口输入命令edit,启动MATLAB文本编辑器后,输入M文件的内容并存盘。(3)命令按钮操作。单击MATLAB主窗口工具栏上的NewM-File命令按钮,启动MATLAB文本编辑器后,输入M文件的内容并存盘。2.翻开已有的M文件翻开已有的M文件,也有3种方法:(1)菜单操作。从MATLAB主窗口的File菜单中选择Open命令,那么屏幕出现Open对话框,在Open对话框中选中所需翻开的M文件。在文档窗口可以对翻开的M文件进行编辑修改,编辑完成后,将M文件存盘。(2)命令操作。在MATLAB命令窗口输入命令:edit文件名,那么翻开指定的M文件。(3)命令按钮操作。单击MATLAB主窗口工具栏上的OpenFile命令按钮,再从弹出的对话框中选择所需翻开的M文件。3.2程序控制结构3.2.1顺序结构1.数据的输入从键盘输入数据,那么可以使用input函数来进行,该函数的调用格式为:A=input(提示信息,选项);其中提示信息为一个字符串,用于提示用户输入什么样的数据。如果在input函数调用时采用's'选项,那么允许用户输入一个字符串。例如,想输入一个人的姓名,可采用命令:xm=input('What''syourname?','s');2.数据的输出MATLAB提供的命令窗口输出函数主要有disp函数,其调用格式为disp(输出项)其中输出项既可以为字符串,也可以为矩阵。例3-2输入x,y的值,并将它们的值互换后输出。程序如下:x=input('Inputxplease.');y=input('Inputyplease.');z=x;x=y;y=z;disp(x);disp(y);例3-3求一元二次方程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)];disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);3.程序的暂停暂停程序的执行可以使用pause函数,其调用格式为:pause(延迟秒数)如果省略延迟时间,直接使用pause,那么将暂停程序,直到用户按任一键后程序继续执行。假设要强行中止程序的运行可使用Ctrl+C命令。3.2.2选择结构1.if语句在MATLAB中,if语句有3种格式。(1)单分支if语句:if条件语句组end当条件成立时,那么执行语句组,执行完之后继续执行if语句的后继语句,假设条件不成立,那么直接执行if语句的后继语句。(2)双分支if语句:if条件语句组1else语句组2end当条件成立时,执行语句组1,否那么执行语句组2,语句组1或语句组2执行后,再执行if语句的后继语句。(3)多分支if语句:if条件1语句组1elseif条件2语句组2……elseif条件m语句组melse语句组nend语句用于实现多分支选择结构。2.switch语句switch语句根据表达式的取值不同,分别执行不同的语句,其语句格式为:switch表达式case表达式1语句组1case表达式2语句组2……case表达式m语句组motherwise语句组nend
当表达式的值等于表达式1的值时,执行语句组1,当表达式的值等于表达式2的值时,执行语句组2,…,当表达式的值等于表达式m的值时,执行语句组m,当表达式的值不等于case所列的表达式的值时,执行语句组n。当任意一个分支的语句执行完后,直接执行switch语句的下一句。3.2.3循环结构1.for语句for语句的格式为:for循环变量=表达式1:表达式2:表达式3循环体语句end其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值。步长为1时,表达式2可以省略。例3-9,当n=100时,求y的值。程序如下:y=0;n=100;fori=1:ny=y+1/(2*i-1);endy2.while语句while语句的一般格式为:while(条件)循环体语句end其执行过程为:假设条件成立,那么执行循环体语句,执行后再判断条件是否成立,如果不成立那么跳出循环。例3-11从键盘输入假设干个数,当输入0时结束输入,求这些数的平均值和它们之和。程序如下:sum=0;cnt=0;val=input('Enteranumber(endin0):');while(val~=0)sum=sum+val;cnt=cnt+1;val=input('Enteranumber(endin0):');endif(cnt>0)summean=sum/cntend3.break语句和continue语句与循环结构相关的语句还有break语句和continue语句。它们一般与if语句配合使用。break语句用于终止循环的执行。当在循环体内执行到该语句时,程序将跳出循环,继续执行循环语句的下一语句。continue语句控制跳过循环体中的某些语句。当在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环。4.循环的嵌套如果一个循环结构的循环体又包括一个循环结构,就称为循环的嵌套,或称为多重循环结构。例3-13假设一个数等于它的各个真因子之和,那么称该数为完数,如6=1+2+3,所以6是完数。求[1,500]之间的全部完数。form=1:500s=0;fork=1:m/2ifrem(m,k)==0s=s+k;endendifm==sdisp(m);endend3.3函数文件3.3.1函数文件的根本结构函数文件由function语句引导,其根本结构为:function输出形参表=函数名(输入形参表)注释说明局部函数体语句其中以function开头的一行为引导行,表示该M文件是一个函数文件。函数名的命名规那么与变量名相同。输入形参为函数的输入参数,输出形参为函数的输出参数。当输出形参多于一个时,那么应该用方括号括起来。3.3.2函数调用函数调用的一般格式是:[输出实参表]=函数名(输入实参表)要注意的是,函数调用时各实参出现的顺序、个数,应与函数定义时形参的顺序、个数一致,否那么会出错。函数调用时,先将实参传递给相应的形参,从而实现参数传递,然后再执行函数的功能。
例3-15利用函数文件,实现直角坐标(x,y)与极坐标(ρ,θ)之间的转换。函数文件tran.m:function[rho,theta]=tran(x,y)rho=sqrt(x*x+y*y);theta=atan(y/x);调用tran.m的命令文件main1.m:x=input('Pleaseinputx=:');y=input('Pleaseinputy=:');[rho,the]=tran(x,y);rhothe在MATLAB中,函数可以嵌套调用,即一个函数可以调用别的函数,甚至调用它自身。一个函数调用它自身称为函数的递归调用。例3-16利用函数的递归调用,求n!。n!本身就是以递归的形式定义的:显然,求n!需要求(n-1)!,这时可采用递归调用。递归调用函数文件factor.m如下:functionf=factor(n)ifn<=1f=1;elsef=factor(n-1)*n;%递归调用求(n-1)!endFsolve语句:x=fsolve(fun,x0)求解fun(x)=0的解,x0是初值,fun是函数,x就是解。比方解方程组x(1).^2+x(2).^2=1;x(1)=2*x(2)可以写成f=@(x)([x(1).^2+x(2).^2-1;x(1)-2*x(2)])x=fsolve(f,[11])这里[11]就是初值。求积分Quad3.5程序调试3.5.1程序调试概述一般来说,应用程序的错误有两类,一类是语法错误,另一类是运行时的错误。语法错误包括词法或文法的错误,例如函数名的拼写错、表达式书写错等。程序运行时的错误是指程序的运行结果有错误,这类错误也称为程序逻辑错误。3.5.2调试器1.Debug菜单项该菜单项用于程序调试,需要与Breakpoints菜单项配合使用。2.Breakpoints菜单项该菜单项共有6个菜单命令,前两个是用于在程序中设置和去除断点的,后4个是设置停止条件的,用于临时停止M文件的执行,并给用户一个检查局部变量的时机,相当于在M文件指定的行号前参加了一个keyboard命令。3.5.3调试命令除了采用调试器调试程序外,MATLAB还提供了一些命令用于程序调试。命令的功能和调试器菜单命令类似,具体使用方法请读者查询MATLAB帮助文档。第5章MATLAB绘图5.1二维数据曲线图5.2其他二维图形5.1二维数据曲线图5.1.1绘制单根二维曲线plot函数的根本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。例5-1在0≤x≤2
区间内,绘制曲线y=2e-0.5xcos(4πx)程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*cos(4*pi*x);plot(x,y)例5-2绘制曲线。程序如下:t=0:0.1:2*pi;x=t.*sin(3*t);y=t.*sin(t).*sin(t);plot(x,y);5.1.2绘制多根二维曲线1.plot函数的输入参数是矩阵形式(1)当x是向量,y是有一维与x同维的矩阵时,那么绘制出多根不同颜色的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。(2)当x,y是同维矩阵时,那么以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。(3)对只包含一个输入参数的plot函数,当输入参数是实矩阵时,那么按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。当输入参数是复数矩阵时,那么按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。2.含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)(1)当输入参数都为向量时,x1和y1,x2和y2,…,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。3.具有两个纵坐标标度的图形在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。调用格式为:plotyy(x1,y1,x2,y2)其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。例5-4用不同标度在同一坐标内绘制曲线y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx)。程序如下:x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);plotyy(x,y1,x,y2);5.1.3设置曲线样式MATLAB提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号,它们可以组合使用。例如,“b-.”表示蓝色点划线,“y:d”表示黄色虚线并用菱形符标记数据点。中选项省略时,MATLAB规定,线型一律用实线,颜色将根据曲线的先后顺序依次。要设置曲线样式可以在plot函数中加绘图选项,其调用格式为:plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)5.1.4图形标注与坐标控制1.图形标注有关图形标注函数的调用格式为:title(图形名称)xlabel(x轴说明)ylabel(y轴说明)text(x,y,图形说明)legend(图例1,图例2,…)5.2其他二维图形5.2.1其他坐标系下的二维数据曲线图1.对数坐标图形MATLAB提供了绘制对数和半对数坐标曲线的函数,调用格式为:semilogx(x1,y1,选项1,x2,y2,选项2,…)semi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年及未来5年中国再担保市场竞争格局及投资战略规划报告
- 2026年及未来5年中国海水养殖产品行业市场全景评估及投资前景展望报告
- 2026年企业人力资源管理师之三级人力资源管理师综合检测模拟卷及参考答案详解【考试直接用】
- 2026年硕士(工程)考前冲刺试卷及答案详解(易错题)
- 发热病人发热护理计划
- 心脏骤停患者的药物治疗
- 中风急救护理的质量控制
- 心悸中医穴位护理
- 生物质炉内裂解制气自动控制系统的创新设计与应用
- 生物表面活性剂产生菌的筛选、鉴定及发酵条件优化研究
- 2021安装工程消耗量第六册自动化控制仪表安装工程
- 2025云南烟草产业市场发展趋势分析投资现状调研规划分析研究报告
- 《建设强大国内市场 加快构建新发展格局》课件
- 车间使用空调管理制度
- 橡胶研发技术面试技巧集
- 酒店防偷拍培训
- 2025年水利工程质量检测员考试题库及答案(云南省)
- 办公室照明灯具安装施工方案
- 钻探施工合同模板及注意事项
- 2021-2025年高考化学真题知识点分类汇编之物质结构与性质(解答大题)(二)
- 2025年兽医实验室理论考试题库带答案详解(能力提升)
评论
0/150
提交评论