第二章MATLAB程序设计.ppt
《第二章MATLAB程序设计.ppt》由会员分享,可在线阅读,更多相关《第二章MATLAB程序设计.ppt(38页珍藏版)》请在课桌文档上搜索。
1、第二章 MATLAB程序设计,2.1 数据类型和运算符 2.2 程序控制语句 2.3 矩阵运算2.4 多项式2.5 函数与M文件2.6 数据的可视化,2.1 数据类型和运算符,变量、语句,变量命名规则必须以字母开头;可以由字母、数字和下划线混合组成;变量长度应不大于31个;字母区分大小写。,变量的定义特殊变量,基本语句,MATLAB语言的基本语句结构为:变量名列表=表达式 等号左边的变量名列表为MATLAB语句的返回值,若一次返回多个结果,则变量列表用 括起来,各变量间用逗号分隔;等号右边为表达式,可以是矩阵运算或函数调用,可以由分号(;)、逗号(,)或回车结束。,数据类型,在MATLAB里共
2、有六种数据类型,每一种类型可以是一维、二维和多维的。,双精度型(double)字符型(char)稀疏型(sparse)存储型(storage)细胞型(cell)结构型(struct),字符型,基本规则:所有字符串都用单引号括起来;字符串中的每一个字符都是该字符串变量中的一个元素;字符串中的字符以ASC码形式存储,因而区分大小写。,常用操作方法:建立:常用函数有char、int2str、num2str等。连接:水平连接通过函数strcat或在中括号内用逗号连接;垂直连接通过函数strvcat或在中括号内用分号连接。比较:常用函数strcmp,相同则返回1,否则为0。查找:常用函数findstr。
3、,运算符,算术运算符,按照运算符的优先级可把算术运算符分为五级,在每一级里运算符有同样的优先级,在运算时自左向右结合,关系运算符,在MATLAB里共有六个关系运算符 大于=大于等于=等于=不等于,关系运算符将生成一个0-1矩阵,当运算数相应元素为真时,对应位置上生成1,否则为0。,逻辑运算符,&(与)|(或)(非),结果是一个0-1矩阵。当逻辑表达式的值为真时,赋值1,否则为0,逻辑函数,all函数:当某列的元素都为真时,返回值为1,否则返回0。最终运算结果为一个0-1行向量,any函数:当向量中至少有一个元素为真时,返回值为1,否则返回0。最终运算结果为一个0-1行向量,find函数:用于查
4、找向量中的真元素的下标,返回由所有真元素下标构成的列向量。,例2-1:在矩阵后面再补一行 A=1 2 3;4 5 6;7 8 9 A1=A;1 3 5A1=1 2 3 4 5 6 7 8 9 1 3 5,例,已知矩阵,1、求出这两个矩阵的乘积C;2、将C矩阵的右下角23子矩阵赋给D矩阵。,例2-2:某系统的传递函数为,试求它的ZPK形式,部分分式形式以及状态空间表达式。,计算结果表明,计算结果表明,计算结果表明:该系统的状态空间表达式之一为,2.2 程序控制语句,循环语句MATLAB中的循环语句包括for循环和while循环两种类型。for循环for循环的基本格式为:for 循环变量=起始值:
5、步长:终止值循环体end 步长的缺省值是1。步长可以在正实数或负实数范围内任意指定,对于正数,循环变量的值大于终止值时,循环结束;对于负数,循环变量的值小于终止值时,循环结束。,while循环while循环的基本格式为:while 表达式循环体end 若表达式为真,则执行循环体的内容,执行后再判断表达式是否为真,若为假则跳出循环体,向下继续执行,否则继续执行循环体。,break:从循环体中跳出,并使循环结束。,例2-3 求取下面和式,程序1,程序2,运行结果,运行结果,ifelseelseif语句if格式:if 逻辑表达式执行语句end 当逻辑表达式的值为真,则执行该结构中的执行语句内容,执行
6、完后向下继续执行,若逻辑表达式的值为假,跳过结构中的执行语句继续向下执行。if-else格式if 逻辑表达式执行语句1else执行语句2end 如果逻辑表达式的值为真,则执行语句1,然后跳过语句2向下执行;若逻辑表达式的值为假,则跳过执行语句1而执行语句2,然后向下执行。,if-elseif格式if 逻辑表达式1执行语句1elseif 逻辑表达式2执行语句2elseif 逻辑表达式n执行语句n else执行语句el end 如果逻辑表达式的值为真,则执行语句1,若逻辑表达式的值为假,则判断逻辑表达式2的值,若为真,则执行语句2,否则向下执行,若所有表达式均为假,执行语句el。,例2-4 将数组
7、作特殊排列,运算结果为,switch语句 switch语句的格式为:switch 表达式(标量或字符串)case 值1语句1case 值2语句2case 值n语句notherwise语句owend 表达式的值和哪种情况(case)的值相同,就执行哪种情况中的语句,如果都不同,则执行otherwise中的语句。,输入简单的矩阵,在MATLAB中不必描述矩阵的维数和类型,而由输入的格式和内容来决定。输入小矩阵最简单的方法:把矩阵的元素直接排列到方括号中。每行内的元素间用空格(space)或逗号(,)分开,行与行的内容间用分号(;)隔开。,下标引用,矩阵下标(按列优先排列)用两个下标来表示。第i行j
8、列的元素用A(i,j)来表示用一个下标来表示。对于矩阵按列操作,可用单下标引用A(i)。在下标的表达式中使用冒号表示矩阵的一部分。下标引用从序号1开始。,例如:A(1:k,j)表示矩阵A的第j列的前k个元素。A(:,j)表示矩阵A的第j列的所有元素。,2.3 矩阵运算,表示复共轭转置,.表示普通转置。,矩阵的转置,矩阵的点运算,两个矩阵之间的点运算是对该矩阵对应元素的直接运算。点乘积运算要求矩阵的维数相同。点乘积又称为Hadamard乘积。常用的点运算包括:.*./.,(举例),(举例),矩阵函数,三角分解,将一个方阵表示成两个基本三角阵的乘积,其中一个三角阵为上三角阵,另一个为下三角阵。这种
9、分解被称为LU分解。,L,U=lu(A)%求矩阵A的LU分解Xinv(A)%求矩阵A的逆矩阵d=det(A)%求矩阵A的行列式,举例,三角分解,deig(A);V,Deig(A);V,Deig(A,nobalance),求解A矩阵的特征值和特征向量,其调用格式为:,d为矩阵A的特征值向量;D为A阵的特征值对角阵,V的各列为A阵的全部特征向量,A*V=V*D;nobanlance选项当A矩阵中有的元素小到和截断误差相当时用,一般用nobalance选项来减少计算误差。,矩阵的尺寸,为了判断矩阵的尺寸,Matlab提供了以下函数:m,n=size(A)%返回矩阵的行数m和列数nM=size(A)%
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 MATLAB 程序设计

链接地址:https://www.desk33.com/p-259681.html