MATLAB语言及应用-第二章.ppt
《MATLAB语言及应用-第二章.ppt》由会员分享,可在线阅读,更多相关《MATLAB语言及应用-第二章.ppt(83页珍藏版)》请在三一办公上搜索。
1、第2章 基本语法,变量及其赋值 矩阵的初等运算 元素群运算 逻辑判断及流程控制基本绘图方法M文件及程序调试,变量及其赋值 矩阵的初等运算 元素群运算 逻辑判断及流程控制基本绘图方法M文件及程序调试,第2章 基本语法,第2章 基本语法,变量及其赋值标识符与数矩阵及其元素的赋值复数变量检查基本赋值矩阵,第2章 基本语法,标识符与数标识符是标识变量名、常量名、函数名和文件名的字符串的总称。在MATLAB中,变量名是以字母开头,后接字母、数字或下划线的字符序列,最多19个字符;函数和文件名则通常不超过8个字符。在MATLAB中,变量名区分字母的大小写。MATLAB提供的标准函数名以及命令名必须用小写字
2、母。,第2章 基本语法,矩阵及其元素的赋值MATLAB赋值语句有两种格式:(1)标准赋值格式:变量=表达式(或数)(2)不要等式左端而只剩下“表达式”一般地,运算结果在命令窗口中显示出来。如果在语句的最后加分号,那么,MATLAB仅仅执行赋值操作,不再显示运算的结果。在MATLAB语句后面可以加上注释,注释以%开头,后面是注释的内容。,第2章 基本语法,例2.1 计算表达式的值,并将结果赋给变量x,然后显示出结果。在MATLAB命令窗口输入命令:x=(5+cos(47*pi/180)/(1+sqrt(7)-2*i)%计算表达式的值,第2章 基本语法,复数MATLAB的每一个元素都可以是复数,实
3、数是复数的特例。对复数矩阵有两种赋值方法:(1)将其元素逐个赋与复数 如,键入z=1+2i,3+4i,5+6i,7+8i(2)将其实部和虚部分别赋值如,键入z=1,3;5,7+2,4;6,8*i,第2章 基本语法,变量检查1 预定义变量 在MATLAB工作空间中,还驻留几个由系统本身定义的变量。它们有特定的含义,在使用时,应尽量避免对这些变量重新赋值。2 内存变量的管理(1)内存变量的显示与删除 who和whos这两个命令用于显示在MATLAB工作空间中已经驻留的变量名清单。clear命令用于删除MATLAB工作空间中的变量。注意,预定义变量不能被删除。,第2章 基本语法,(2)内存变量文件利
4、用MAT文件(.mat)可以把当前MATLAB工作空间中的一些有用变量长久地保留下来。MAT文件的生成和装入由save和load命令来完成。常用格式为:save 文件名 变量名表 load 文件名 变量名表,第2章 基本语法,基本赋值矩阵一 矩阵的建立 1.直接输入法 将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。例如 A=1 2 3;4 5 6;7 8 9 2.利用M文件建立矩阵 对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。,第2章 基本语法,3.利用MATLAB函数建立矩阵几个产生特殊矩阵的函数:zeros
5、、ones、eye、rand(随机数)、randn(正态随机数)。这几个函数的调用格式相似,下面以产生零矩阵的zeros函数为例进行说明。其调用格式是:zeros(m)产生mm零矩阵 zeros(m,n)产生mn零矩阵。zeros(size(A)产生与矩阵A同样大小的零矩阵相关的函数有:length(A)给出行数和列数中的较大者,即length(A)=max(size(A);ndims(A)给出A的维数。,第2章 基本语法,例2.3 分别建立33、32和与矩阵A同样大小的零矩阵。(1)建立一个33零矩阵:zeros(3)(2)建立一个32零矩阵:zeros(3,2)(3)建立与矩阵A同样大小零
6、矩阵:zeros(size(A)4.建立大矩阵 大矩阵可由方括号中的小矩阵建立起来。例如 A=1 2 3;4 5 6;7 8 9;C=A,eye(size(A);ones(size(A),A,第2章 基本语法,二 冒号表达式 冒号表达式的一般格式:e1:e2:e3三 矩阵的拆分1.矩阵元素MATLAB允许用户对一个矩阵的单个元素进行赋值和操作。例如 A(3,2)=200也可以采用矩阵元素的序号来引用矩阵元素。矩阵元素按列编号,先第一列,再第二列,依次类推。,第2章 基本语法,2.矩阵拆分(1)利用冒号表达式获得子矩阵 A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部
7、元素;A(i,j)表示取A矩阵第i行、第j列的元素。A(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列中的所有元素。此外,还可利用一般向量和end运算符等来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。,第2章 基本语法,(2)利用空矩阵删除矩阵的元素在MATLAB中,定义为空矩阵。给变量X赋空矩阵的语句为X=。注意,X=与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间,只是维数为0。将某些元素从矩阵中删除,采用将
8、其置为空矩阵的方法就是一种有效的方法。,第2章 基本语法,四 多维矩阵以三维矩阵为例,常用的方法有4种:(1)对二维矩阵进行扩充得到三维矩阵。(2)若干个同样大小的二维矩阵进行组合得到三维矩阵。(3)除产生单位矩阵的eye函数外,前面介绍的建立矩阵的函数都可以延伸到三维矩阵。(4)用cat函数构建多维矩阵。一般调用格式是:cat(n,A1,A2,An)cat函数把大小相同的若干矩阵,沿第n维方向串接成高维矩阵。当n=1和2时,沿行和列的方向串接,结果是二维矩阵。当n=3时,沿列的方向串接,结果是三维矩阵。,变量及其赋值 矩阵的初等运算 元素群运算 逻辑判断及流程控制基本绘图方法M文件及程序调试
9、,第2章 基本语法,第2章 基本语法,矩阵的初等运算1.基本算术运算 MATLAB的基本算术运算有:(加)、(减)、*(乘)、/(右除)、(左除)、(乘方)。注意:运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。2.点运算 点运算符有.*、./、.和.。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。3MATLAB常用数学函数,变量及其赋值 矩阵的初等运算 元素群运算 逻辑判断及流程控制基本绘图方法M文件及程序调试,第2章 基本语法,第2章 基本语法,元素群运算1.数组及其赋值 MATLAB提供了两种为等间隔数组赋值的简易方法(1)用两个冒号组成等增量语句,其
10、格式为:t=初值:增值:终值(2)用linspace函数。其格式为:linspace(初值、终值、点数)2.四则运算和幂次运算 矩阵中的所有元素按单个元素运算。3.元素群函数,变量及其赋值 矩阵的初等运算 元素群运算 逻辑判断及流程控制基本绘图方法M文件及程序调试,第2章 基本语法,第2章 基本语法,一 关系运算 MATLAB提供了6种关系运算符:(大于)、=(大于或等于)、=(等于)、=(不等于)。关系运算符的运算法则。二 逻辑运算 MATLAB提供了3种逻辑运算符:&(与)、|(或)和(非)。运算法则。三 流程控制语句,第2章 基本语法,1 if语句 在MATLAB中,if语句有3种格式。
11、(1)单分支if语句 语句格式为:if 条件 语句组 end 当条件成立时,则执行语句组,执行完之后继续执行if语句的后继语句,若条件不成立,则直接执行if语句的后继语句。,第2章 基本语法,例2.7计算分段函数值。程序如下:x=input(请输入x的值:);if x=10 y=cos(x+1)+sqrt(x*x+1);else y=x*sqrt(x+sqrt(x);end y,第2章 基本语法,(3)多分支if语句 语句格式为:if 条件1 语句组1 elseif 条件2 语句组2 elseif 条件m 语句组m else 语句组m+1 end,第2章 基本语法,例2.8 输入一个字符,若为
12、大写字母,则输出其后继字符,若为小写字母,则输出其前导字符,若为数字字符则输出其对应的数值,若为其他字符则原样输出。程序如下:c=input(请输入一个字符,s);if c=A end,第2章 基本语法,2 while语句 while语句的一般格式为:while(条件)循环体语句 end 其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不成立则跳出循环。,第2章 基本语法,循环的嵌套如果一个循环结构的循环体又包括一个循环结构,就称为循环的嵌套,或称为多重循环结构。可以按照嵌套层数,分别叫做二重循环、三重循环等。处于内部的循环叫作内循环,处于外部的循环叫作外循环。在设计
13、多重循环时,要特别注意内、外循环之间的关系,以及各语句放置的位置,不要搞错。,第2章 基本语法,例2.5 一皮球从200米高度自由落下,每次落地后反弹回原高度的一半开始再次下落,试编写一段程序,(1)给出皮球弹起的次数及最后一次的反弹高度;(2)皮球经过的总路程。(提示:eps浮点相对差限,表示matlab能计算的数据差的最小值),第2章 基本语法,%s为总路程,h为弹起高度,n为弹起次数s=0;h=200;n=0;while hepss=s+h;h=h/2;s=s+h;n=n+1;enddisp(经过的总路程)disp(s)disp(弹起次数)disp(n)disp(弹起高度)disp(h)
14、,第2章 基本语法,3 for语句 语句格式为:for 循环变量=表达式1:表达式2:表达式3 循环体语句 end 首先计算三个表达式的值,再将表达式1的值赋给循环变量,如果此时循环变量的值介于表达式1和表达式3的值之间,则执行循环体语句,否则结束循环的执行。执行完一次循环之后,循环变量自增一个表达式2的值,然后再判断循环变量的值是否介于表达式1和表达式3之间,如果满足仍然执行循环体,直至不满足为止。这时将结束for语句的执行,而继续执行for语句后面的语句。,第2章 基本语法,for语句更一般的格式:for 循环变量=矩阵表达式 循环体语句 end 执行过程是依次将矩阵的各列元素赋给循环变量
15、,然后执行循环体语句,直至各列元素处理完毕。实际上,“表达式1:表达式2:表达式3”是一个仅为一行的矩阵(行向量),因而列向量是单个数据。例2.6 求1到200之间所有奇数之和,写出程序和运行结果。,第2章 基本语法,程序如下:(1)i=1;s=0;while(i=200)s=s+i;i=i+2;ends,(2)s=0;for i=1:2:200s=s+i;ends,第2章 基本语法,例2.7 已知5个学生4门功课的成绩,求每名学生的总成绩。程序如下:s=0;a=65,76,56,78;98,83,74,85;76,67,78,79;98,58,42,73;67,89,76,87;for k=
16、a s=s+k;enddisp(s);,第2章 基本语法,4 switch语句 其语句格式为:switch 表达式 case 表达式1 语句组1 case 表达式2 语句组2 case 表达式m 语句组m otherwise 语句组m+1 end,第2章 基本语法,例2.8 某商场对顾客所购买的商品实行打折销售,已知打折标准,求所售商品的实际销售价格。程序如下:price=input(请输入商品价格);switch fix(price/100)case 0,1 rate=0;case 2,3,4 rate=3/100;case num2cell(5:9)rate=5/100;case num2
17、cell(10:24)rate=8/100;case num2cell(25:49)rate=10/100;otherwise rate=14/100;end price=price*(1-rate),第2章 基本语法,例2.9 使用switch-case结构完成卷面成绩score的转换。(1)score90分,优;(2)90score80分,良;(3)80score70分,中;(4)70score60分,及格;(5)60score,不及格;,第2章 基本语法,程序如下:score=input(请输入卷面成绩:score=);switch fix(score/10)case 9grade=优c
18、ase 8grade=良case 7grade=中case 6grade=及格otherwisegrade=不及格end,第2章 基本语法,5 try语句语句格式为:try 语句组1catch 语句组2end try语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋给保留的lasterr变量,并转去执行语句组2。这种试探性执行语句是其他高级语言所没有的。,第2章 基本语法,例2.10 矩阵乘法运算要求两矩阵的维数相容,否则会出错。先求两矩阵的乘积,若出错,则自动转去求两矩阵的点乘。程序如下:A=1,2,3;4,5,6;B=7,8,9;10,11,12;try C=A*B
19、;catch C=A.*B;endClasterr%显示出错原因,第2章 基本语法,例2.11 已知某图像文件名为kids,但不知其存储格式为.bmp还是.tif,试编程,正确读取该图像文件并显示图像。程序如下:try picture=imread(kids.bmp);catch picture=imread(kids.tif);endimshow(picture)lasterr%显示出错原因,变量及其赋值 矩阵的初等运算 元素群运算 逻辑判断及流程控制基本绘图方法M文件及程序调试,第2章 基本语法,第2章 基本语法,基本绘图方法1 直角坐标中的二维曲线2 线型、点型和颜色3 多条曲线的绘制4
20、 屏幕控制和其他二维绘图5 三维曲线和曲面6 彩色、光照和图像,第2章 基本语法,1 直角坐标中的二维曲线绘制二维曲线的最基本函数:plot函数的基本用法plot函数的基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。例1 在0X2区间内,绘制曲线y=sin(2x)。程序如下:x=0:pi/100:2*pi;y=sin(2*pi*x);plot(x,y,+r),第2章 基本语法,说明:(1)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。(2)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同色彩的曲
21、线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。(3)plot函数最简单的调用格式是只包含一个输入参数:plot(x)。,第2章 基本语法,例2 某工厂2000年各月总产值(单位:万元)分别为22、60、88、95、56、23、9、10、14、81、56、23,试绘制折线图以显示出该厂总产值的变化情况。程序如下:p=22,60,88,95,56,23,9,10,14,81,56,23;plot(p),第2章 基本语法,2 线型、点型和颜色MATLAB会自动设定所画曲线的颜色和线型。如果用户对默认值不满意,可以用命令控制线型。也可以根据需要选取不同的数据点的标记。3 多条曲线的绘
22、制(1)用plot(t,y1,y2,)命令t是向量,y=y1,y2,是矩阵,若t 是列(行)向量,则y的列(行)长与t长度相同。y的行(列)数就是曲线的根数。(2)用hold 命令在画完前一张图后用hold命令保持住,在画下一条曲线。,第2章 基本语法,(3)含多个输入参数的plot函数含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,xn,yn)(4)双纵坐标函数plotyyplotyy函数是MATLAB 5.X新增的函数。它能把函数值具有不同量纲、不同数量级的两个函数绘制在同一坐标中。调用格式为:plotyy(x1,y1,x2,y2)其中x1y1对应一条曲线,x2y
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 语言 应用 第二
链接地址:https://www.31ppt.com/p-6512135.html