《MATLAB程序设计.ppt》由会员分享,可在线阅读,更多相关《MATLAB程序设计.ppt(30页珍藏版)》请在第壹文秘上搜索。
1、2.1 2.1 数据类型和运算符数据类型和运算符 2.2 2.2 程序控制语句程序控制语句 2.3 2.3 矩阵运算矩阵运算2.4 2.4 多项式多项式2.5 2.5 函数与函数与M M文件文件2.6 2.6 数据的可视化数据的可视化 2.1 2.1 数据类型和运算符数据类型和运算符变量、语句变量、语句 变量命名规则变量命名规则必须以字母开头;必须以字母开头;可以由字母、数字和下划线混合组成;可以由字母、数字和下划线混合组成;变量长度应不大于变量长度应不大于3131个;个;字母区分大小写。字母区分大小写。变量的定义变量的定义特殊变量特殊变量 变量名称 功能 变量名称 功能 ans 保存最后一次
2、的运算结果 pi 圆周率 realmax 最大的浮点数值 realmin 最小的浮点数值 I 虚数单位 j 虚数单位 Inf 正无穷大 NaN 非数(0/0,Inf/Inf) 基本语句基本语句 MATLABMATLAB语言的基本语句结构为:语言的基本语句结构为:变量名列表变量名列表=表达式表达式 等号左边的变量名列表为等号左边的变量名列表为MATLABMATLAB语句的返回值,若一次返回多个结果,语句的返回值,若一次返回多个结果,则变量列表用则变量列表用 括起来,各变量间用括起来,各变量间用逗号逗号分隔;分隔;等号右边为表达式,可以是矩阵运算或函数调用,可以由等号右边为表达式,可以是矩阵运算或
3、函数调用,可以由分号分号(;)(;)、逗号、逗号(,)(,)或回车或回车结束。结束。 数据类型数据类型在在MATLABMATLAB里共有六种数据类型,每一种类型可以是一维、二维和多维的。里共有六种数据类型,每一种类型可以是一维、二维和多维的。双精度型(双精度型(doubledouble)字符型(字符型(charchar)稀疏型(稀疏型(sparsesparse)存储型(存储型(storagestorage)细胞型(细胞型(cellcell)结构型(结构型(structstruct) 字符型字符型基本规则:基本规则:所有字符串都用单引号括起来;所有字符串都用单引号括起来;字符串中的每一个字符都是
4、该字符串变量中的一个元素;字符串中的每一个字符都是该字符串变量中的一个元素;字符串中的字符以字符串中的字符以ASC码形式存储,因而区分大小写。码形式存储,因而区分大小写。常用操作方法:常用操作方法:建立:常用函数有建立:常用函数有char、int2str、num2str等。等。连接:水平连接通过函数连接:水平连接通过函数strcat或在中括号内用逗号连接;或在中括号内用逗号连接; 垂直连接通过函数垂直连接通过函数strvcat或在中括号内用分号连接。或在中括号内用分号连接。比较:常用函数比较:常用函数strcmp,相同则返回相同则返回1,否则为,否则为0。查找:常用函数查找:常用函数finds
5、tr。结构型结构型结构的建立和访问方法:结构的建立和访问方法:直接建立结构和各个域,同时给各域赋值,结构和域之间用点直接建立结构和各个域,同时给各域赋值,结构和域之间用点“”连接。同样,访问结构的各个域时,其格式为:连接。同样,访问结构的各个域时,其格式为:结构名域名结构名域名用函数用函数struct建立结构,其用法为:建立结构,其用法为:s=struct(field1,values1,field2,values2,)例2-1 s = struct(type,big, little,color,red, x,3 1)Field values1 values2Type big littleCol
6、or red redX 3 1 s(1).type; s(2).type s(1).color; s(2).color s(1).x; s(2).x12 struct运算符运算符v算术运算符算术运算符+加加.数组幂数组幂-减减左除或反斜杠左除或反斜杠*矩阵乘法矩阵乘法/右除或斜杠右除或斜杠.*数组乘法数组乘法./数组除数组除矩阵幂矩阵幂:冒号冒号按照运算符的优先级可把算术按照运算符的优先级可把算术运算符分为五级,在每一级里运算符分为五级,在每一级里运算符有同样的优先级,在运运算符有同样的优先级,在运算时自左向右结合算时自左向右结合 v关系运算符关系运算符在在MATLABMATLAB里共有六个关
7、系运算符里共有六个关系运算符 大于大于 = =大于等于大于等于= = 等于等于 =不等于不等于 关系运算符将生成一个关系运算符将生成一个0-10-1矩阵,当运算数相应元素为真时,对应矩阵,当运算数相应元素为真时,对应位置上生成位置上生成1 1,否则为,否则为0 0。 v逻辑运算符逻辑运算符& (& (与与) |() |(或或) () (非非) ) 结果是一个结果是一个0-10-1矩阵。当逻辑表达式的值为真时,赋值矩阵。当逻辑表达式的值为真时,赋值1 1,否则为,否则为0 0 v逻辑函数逻辑函数 allall函数函数 :当某列的元素都为真时,返回值为当某列的元素都为真时,返回值为1 1,否则返回
8、,否则返回0 0。最终运。最终运算结果为一个算结果为一个0-10-1行向量行向量 anyany函数函数 :当向量中至少有一个元素为真时,返回值为当向量中至少有一个元素为真时,返回值为1 1,否则返回,否则返回0 0。最终运算结果为一个。最终运算结果为一个0-10-1行向量行向量 findfind函数函数 :用于查找向量中的真元素的下标,返回由所有真元素下用于查找向量中的真元素的下标,返回由所有真元素下标构成的列向量。标构成的列向量。例例2-62-6例例2-72-7例例2-52-52.2 2.2 程序控制语句程序控制语句 循环语句循环语句MATLABMATLAB中的循环语句包括中的循环语句包括f
9、orfor循环和循环和whilewhile循环两种类型。循环两种类型。 forfor循环循环forfor循环的基本格式为:循环的基本格式为:for for 循环变量循环变量=起始值:步长:终止值起始值:步长:终止值循环体循环体endend 步长的缺省值是步长的缺省值是1 1。步长可以在正实数或负实数范围内。步长可以在正实数或负实数范围内任意指定,对于正数,循环变量的值大于终止值时,循任意指定,对于正数,循环变量的值大于终止值时,循环结束;对于负数,循环变量的值小于终止值时,循环环结束;对于负数,循环变量的值小于终止值时,循环结束。结束。例例2-8-12-8-1 whilewhile循环循环wh
10、ilewhile循环的基本格式为:循环的基本格式为:while while 表达式表达式循环体循环体endend 若表达式为真,则执行循环体的内容,执行后再判断表若表达式为真,则执行循环体的内容,执行后再判断表达式是否为真,若为假则跳出循环体,向下继续执行,否达式是否为真,若为假则跳出循环体,向下继续执行,否则继续执行循环体。则继续执行循环体。 breakbreak:从循环体中跳出,并使循环结束。从循环体中跳出,并使循环结束。例例2-8-22-8-2 if ifelseelseelseifelseif语句语句if if格式:格式:if if 逻辑表达式逻辑表达式执行语句执行语句endend 当
11、逻辑表达式的值为真,则执行该结构中的执行语句内容,执行完后向下继续执行,若逻辑表达式的值为假,跳过结构中的执行语句继续向下执行。if-elseif-else格式格式if if 逻辑表达式逻辑表达式执行语句执行语句1 1elseelse执行语句执行语句2 2endend 如果逻辑表达式的值为真,则执行语句1,然后跳过语句2向下执行;若逻辑表达式的值为假,则跳过执行语句1而执行语句2,然后向下执行。 if-elseifif-elseif格式格式if if 逻辑表达式逻辑表达式1 1执行语句执行语句1 1elseif elseif 逻辑表达式逻辑表达式2 2执行语句执行语句2 2elseif els
12、eif 逻辑表达式逻辑表达式n n执行语句执行语句n n else else执行语句执行语句el el end end 如果逻辑表达式的值为真,则执行语句如果逻辑表达式的值为真,则执行语句1 1,若逻辑表达式的值,若逻辑表达式的值为假,则判断逻辑表达式为假,则判断逻辑表达式2 2的值,若为真,则执行语句的值,若为真,则执行语句2 2,否则向,否则向下执行下执行, ,若所有表达式均为假,执行语句若所有表达式均为假,执行语句el el 。例例2-8-32-8-3 switchswitch语句语句 switchswitch语句的格式为:语句的格式为: switch 表达式(标量或字符串)表达式(标量
13、或字符串)case 值值1语句语句1case 值值2语句语句2case case 值值n n语句语句n notherwise语句语句owend 表达式的值和哪种情况(表达式的值和哪种情况(case)的值相同,就执行哪种情况中的语句,)的值相同,就执行哪种情况中的语句,如果都不同,则执行如果都不同,则执行otherwise中的语句。中的语句。输入简单的矩阵输入简单的矩阵 在在MATLABMATLAB中不必描述矩阵的维数和类型,而由输入的格式和内容来决中不必描述矩阵的维数和类型,而由输入的格式和内容来决定。输入小矩阵最简单的方法:把矩阵的元素直接排列到定。输入小矩阵最简单的方法:把矩阵的元素直接排
14、列到方括号方括号中。每中。每行行内的内的元素元素间用空格(间用空格(spacespace)或)或逗号逗号(,)分开,行与行的内容间用(,)分开,行与行的内容间用分号分号(;)隔开。(;)隔开。 下标引用下标引用 矩阵下标(矩阵下标(按列优先排列按列优先排列)用两个下标来表示。用两个下标来表示。第第i i行行j j列的元素用列的元素用A(i,j)A(i,j)来表示来表示用一个下标来表示。用一个下标来表示。对于矩阵按列操作,可用单下标引用对于矩阵按列操作,可用单下标引用A(i) A(i) 。在下标的表达式中使用冒号表示矩阵的一部分。在下标的表达式中使用冒号表示矩阵的一部分。 下标引用从序号下标引用
15、从序号1 1开始。开始。 例如:例如:A(1:k,j)A(1:k,j)表示矩阵表示矩阵A A的第的第j j列的前列的前k k个元素。个元素。 A(:,j)A(:,j)表示矩阵表示矩阵A A的第的第j j列的所有元素。列的所有元素。 2. 3 2. 3 矩阵运算矩阵运算矩阵的组合矩阵的组合矩阵的抽取矩阵的抽取例例2-92-9例例2-102-10删除矩阵的行和列删除矩阵的行和列例例2-112-11 把空的把空的 称为空矩阵,即矩阵大小为称为空矩阵,即矩阵大小为0 00 0。可以通过把矩阵的行。可以通过把矩阵的行或列赋值为空矩阵来删除某行或某列。或列赋值为空矩阵来删除某行或某列。 X X %将一个将
16、一个0 00 0的矩阵赋给的矩阵赋给X XA A(:(:,2 4,2 4)= = %则将则将A A的第二列和第四列删除了的第二列和第四列删除了A(:,2)=A(:,2)= %删除矩阵删除矩阵A A的第二列的第二列矩阵的组合即把小矩阵组合成大矩阵,组合符号为中括号矩阵的组合即把小矩阵组合成大矩阵,组合符号为中括号 。 用下标可以从大矩阵里面抽取某些元素组成小的矩阵,并使用()运算符。用下标可以从大矩阵里面抽取某些元素组成小的矩阵,并使用()运算符。 矩阵运算矩阵运算 矩阵的加减矩阵的加减 使用、运算符,并满足以下两个条件之一:使用、运算符,并满足以下两个条件之一:(1)(1)类型相同,即行数相等,且列数相等。类型相同,即行数相等,且列数相等。(2)(2)其中一个为标量,则矩阵中每一个元素都和标量做加减运算。其中一个为标量,则矩阵中每一个元素都和标量做加减运算。例例2-132-13矩阵的乘积矩阵的乘积 使用使用* *运算符,必须满足维数条件。运算符,必须满足维数条件。 矩阵的除法矩阵的除法 例例2-142-14除法运算其意义相当于矩阵的求逆运算。还定义了矩阵的左除及右除。除法运算其意义相当