matlab课件第二章.ppt
第第2 章章 MATLAB 语言基础语言基础教学要求:教学要求:了解了解MATLAB 的数据类型;的数据类型;理解向量、矩阵、数组、函数和表达式等基本概念;理解向量、矩阵、数组、函数和表达式等基本概念;掌握向量、矩阵和数组的基本运算法则和运算函数的使用。掌握向量、矩阵和数组的基本运算法则和运算函数的使用。2.1.1 MATLAB 数据类型数据类型数据类型数据类型1.基本型基本型2.构造型构造型3.符号对象符号对象数据数据类类型型描述描述uint88位无符号整数,范位无符号整数,范围为围为0255(即(即028-1)int88位有符号整数,范位有符号整数,范围为围为-128127(即(即-2727-1)uint1616位无符号整数,范位无符号整数,范围为围为065535(即(即0216-1)int1616位有符号整数,范位有符号整数,范围为围为-3276832767(即(即-215215-1)uint3232位无符号整数,范位无符号整数,范围为围为04294967295(即(即0232-1)int3232位有符号整数,范位有符号整数,范围为围为-21474836482147483647(即(即-231231-1)uint6464位无符号整数,范位无符号整数,范围为围为018446744073709551615(即(即0264-1)int6464位有符号整数,范位有符号整数,范围为围为-92233720368547758089223372036854775807(即(即-263263-1)2.1.2 常量与变量常量与变量1、常量:是程序语句中取不变值的那些量、常量:是程序语句中取不变值的那些量2、变量:是在程序运行中其值可以改变的量,变量由变、变量:是在程序运行中其值可以改变的量,变量由变 量名来表示量名来表示(1)变量名必须以字母开头,且只能由字母、数字或者下变量名必须以字母开头,且只能由字母、数字或者下 画线画线3 类符号组成,不能含有空格和标点符号类符号组成,不能含有空格和标点符号(如如(),。%)等。等。(2)变量名区分字母的大小写。例如,变量名区分字母的大小写。例如,“a”和和“A”是不同的变是不同的变量。量。(3)变量名不能超过变量名不能超过63 个字符,第个字符,第63 个字符后的字符被忽略,个字符后的字符被忽略,对于对于MATLAB 6.5 版以前的变量名不能超过版以前的变量名不能超过31 个字符。个字符。(4)关键字关键字(如如if、while 等等)不能作为变量名。不能作为变量名。(5)最好不要用一些特殊常量符号作变量名。最好不要用一些特殊常量符号作变量名。2.1.3 标量、向量、矩阵与数组标量、向量、矩阵与数组一维数组相当于向量一维数组相当于向量,二维数组相当于矩阵二维数组相当于矩阵.所以矩阵是数组的子集所以矩阵是数组的子集 数组运算是指数组对应元素之间的运算数组运算是指数组对应元素之间的运算,也称点运算也称点运算.矩阵的乘法、乘方和除法有矩阵的乘法、乘方和除法有特殊的数学含义,并不是数组对应元素的运算,所以数组乘法、乘方和除法的运特殊的数学含义,并不是数组对应元素的运算,所以数组乘法、乘方和除法的运算符前特别加了一个点。算符前特别加了一个点。矩阵是一个二维数组,所以矩阵的加、减、数乘等运算与数组运算是一致的。但矩阵是一个二维数组,所以矩阵的加、减、数乘等运算与数组运算是一致的。但有两点要注意:有两点要注意:(1)对于乘法、乘方和除法等三种运算,矩阵运算与数组运算的运算符及含义都对于乘法、乘方和除法等三种运算,矩阵运算与数组运算的运算符及含义都不同:矩阵运算按线性变换定义,使用通常符号;数组运算按对应元素运算定义,不同:矩阵运算按线性变换定义,使用通常符号;数组运算按对应元素运算定义,使用点运算符;使用点运算符;(2)数与矩阵加减、矩阵除法在数学是没有意义的,在数与矩阵加减、矩阵除法在数学是没有意义的,在MATLAB中为简便起见,中为简便起见,定义了这两类运算定义了这两类运算2.1.4 字符串字符串字符串是用单引号来标示,字符串的存储是按其中字符逐个顺序单一存放的。字符串是用单引号来标示,字符串的存储是按其中字符逐个顺序单一存放的。2.1.5 运算符运算符1.算术运算符算术运算符运算符运算符名称名称示例示例法则或使用说明法则或使用说明+加加C=A+B矩阵加法法则,即矩阵加法法则,即C(i,j)=A(i,j)+B(i,j)-减减C=A-B矩阵减法法则,即矩阵减法法则,即C(i,j)=A(i,j)-B(i,j)*乘乘C=A*B矩阵乘法法则矩阵乘法法则/右除右除C=A/B定义为线性方程组定义为线性方程组X*B=A的解,的解,即即C=A/B=A*B-1左除左除C=AB定义为线性方程组定义为线性方程组A*X=B的解,的解,即即C=AB=A-1*B乘幂乘幂C=ABA、B其中一个为标量时有定义其中一个为标量时有定义共轭转置共轭转置B=AB是是A的共轭转置矩阵的共轭转置矩阵运算符运算符名称名称示例示例法则或使用说明法则或使用说明.*数组乘数组乘C=A.*BC(i,j)=A(i,j)*B(i,j)./数组右除数组右除 C=A./BC(i,j)=A(i,j)/B(i,j).数组左除数组左除 C=A.BC(i,j)=B(i,j)/A(i,j).数组乘幂数组乘幂 C=A.BC(i,j)=A(i,j)B(i,j).转置转置A.将数组的行摆放成列,复数元素将数组的行摆放成列,复数元素不做共轭不做共轭运算符运算符名称名称示例法则或使用说明示例法则或使用说明小于小于AB1A、B都是标量,结果是都是标量,结果是或为或为1(真真)或为或为0(假假)的标量的标量2A、B若一个为标量,另若一个为标量,另一个为数组,标量将与数组一个为数组,标量将与数组各元素逐一比较,结果为与各元素逐一比较,结果为与运算数组行列相同的数组,运算数组行列相同的数组,其中各元素取值或其中各元素取值或1或或04=和和=运算对参与比较运算对参与比较的量同时比较实部和虚部,的量同时比较实部和虚部,其他运算只比较实部其他运算只比较实部=小于等于小于等于A大于大于AB=大于等于大于等于A=B=恒等于恒等于A=B=不等于不等于A=B3.逻辑运算符逻辑运算符运算符运算符名称名称示例法则或使用说明示例法则或使用说明&与与A&B1A、B都为标量,结果是或为都为标量,结果是或为1(真真)或或为为0(假假)的标量的标量2A、B若一个为标量,另一个为数组,若一个为标量,另一个为数组,标量将与数组各元素逐一做逻辑运算,标量将与数组各元素逐一做逻辑运算,结果为与运算数组行列相同的数组,其结果为与运算数组行列相同的数组,其中各元素取值或中各元素取值或1或或03A、B均为数组时,必须行、列数分均为数组时,必须行、列数分别相同,别相同,A与与B各对应元素做逻辑运算,各对应元素做逻辑运算,结果为与结果为与A或或B行列相同的数组,其中行列相同的数组,其中各元素取值或各元素取值或1或或04先决与、先决或是只针对标量的运先决与、先决或是只针对标量的运算算|或或A|B非非A&先决先决与与A&B|先决先决或或A|B4.运算符的优先级运算符的优先级最高(转置共轭转置共轭)、(矩阵乘幂矩阵乘幂)、.(转置转置)、.(数组数组乘幂乘幂)(逻辑非逻辑非)*、/(右除右除)、(左除左除)、.*(数组乘数组乘)、./(数组右除数组右除)、.(数组左除数组左除)、:(冒号运算冒号运算)、=、=(恒等于恒等于)、=(不等于不等于)&(逻辑与逻辑与)|(逻辑或逻辑或)&(先决与先决与)最低|(先决或先决或)2.1.6 命令、函数、表达式和语句命令、函数、表达式和语句2.2 向量向量 运运 算算2.2.1 向量的生成向量的生成1.直接输入法直接输入法2.冒号表达式法冒号表达式法3.函数法函数法2.2.2 向量的加减和数乘运算向量的加减和数乘运算2.2.3 向量的点、叉积运算向量的点、叉积运算1、点积运算2、叉积运算3、混合积运算2.3 矩阵运算矩阵运算2.3.1 矩阵元素的存储次序矩阵元素的存储次序MATLAB 规定矩阵元素在存储器中的存放次序是按列的先后顺序存放,即存完第1 列后,再存第2 列,依次类推。2.3.2 矩阵元素的表示及相关操作矩阵元素的表示及相关操作1.元素的下标表示法(1)全下标方式:用行下标和列下标来标示矩阵中的一个元素,如对一个mn 阶的矩阵A,其第i 行、第j 列的元素用全下标方式就表示成A(i,j)。(2)单下标方式:将矩阵元素按存储次序的先后用单个数码顺序地连续编号。如mn阶的矩阵A,全下标元素A(i,j)对应的单下标表示便是A(s),其中s=(j-1)mi。2.矩阵元素的赋值3.矩阵元素的删除2.3.3 矩阵的创建矩阵的创建(1)矩阵的所有元素必须放在方括号 内;(2)每行的元素之间需用逗号或空格隔开;(3)矩阵的行与行之间用分号或回车符分隔;(4)元素可以是数值或表达式。矩阵输入方法:直接输入法:适用于规模较小的矩阵抽取法:从大矩阵中抽取出需要的小矩阵拼接法函数法拼接函数和变形函数法加载法M 文件法2.3.4 矩阵的代数运算1.求矩阵行列式的值2.矩阵加减、数乘与乘法3.求矩阵的逆矩阵4.矩阵的除法5.求矩阵的秩6.求矩阵的特征值与特征向量7.矩阵的乘幂与开方8.矩阵的指数与对数9.矩阵转置10.矩阵的提取与翻转2.4 数组运算2.4.1多维数组的创建1.下标赋值法2.工具阵函数法3.拼接和变形函数法2.4.3 数组的代数运算2.4.4 数组的关系与逻辑运算2.4.5 数组和矩阵函数的通用形式2.5 字符串运算