MATLAB程序设计.ppt
《MATLAB程序设计.ppt》由会员分享,可在线阅读,更多相关《MATLAB程序设计.ppt(30页珍藏版)》请在课桌文档上搜索。
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、,结构型,结构的建立和访问方法:直接建立结构和各个域,同时给各域赋值,结构和域之间用点“”连接。同样,访问结构的各个域时,其格式为:结构名域名,用函数struct建立结构,其用法为:s=struct(field1,values1,field2,values2,),例2-1 s=struct(type,big,little,color,red,x,3 1),Field values1 values2Type big littleColor red redX 3 1,s(1).type;s(2).type s(1).color;s(2).color s(1).x;s(2).x,12 struct,
4、运算符,算术运算符,按照运算符的优先级可把算术运算符分为五级,在每一级里运算符有同样的优先级,在运算时自左向右结合,关系运算符,在MATLAB里共有六个关系运算符 大于=大于等于=等于=不等于,关系运算符将生成一个0-1矩阵,当运算数相应元素为真时,对应位置上生成1,否则为0。,逻辑运算符,&(与)|(或)(非),结果是一个0-1矩阵。当逻辑表达式的值为真时,赋值1,否则为0,逻辑函数,all函数:当某列的元素都为真时,返回值为1,否则返回0。最终运算结果为一个0-1行向量,any函数:当向量中至少有一个元素为真时,返回值为1,否则返回0。最终运算结果为一个0-1行向量,find函数:用于查找
5、向量中的真元素的下标,返回由所有真元素下标构成的列向量。,例2-6,例2-7,例2-5,2.2 程序控制语句,循环语句MATLAB中的循环语句包括for循环和while循环两种类型。for循环for循环的基本格式为:for 循环变量=起始值:步长:终止值循环体end 步长的缺省值是1。步长可以在正实数或负实数范围内任意指定,对于正数,循环变量的值大于终止值时,循环结束;对于负数,循环变量的值小于终止值时,循环结束。,例2-8-1,while循环while循环的基本格式为:while 表达式循环体end 若表达式为真,则执行循环体的内容,执行后再判断表达式是否为真,若为假则跳出循环体,向下继续执
6、行,否则继续执行循环体。,break:从循环体中跳出,并使循环结束。,例2-8-2,ifelseelseif语句if格式:if 逻辑表达式执行语句end 当逻辑表达式的值为真,则执行该结构中的执行语句内容,执行完后向下继续执行,若逻辑表达式的值为假,跳过结构中的执行语句继续向下执行。if-else格式if 逻辑表达式执行语句1else执行语句2end 如果逻辑表达式的值为真,则执行语句1,然后跳过语句2向下执行;若逻辑表达式的值为假,则跳过执行语句1而执行语句2,然后向下执行。,if-elseif格式if 逻辑表达式1执行语句1elseif 逻辑表达式2执行语句2elseif 逻辑表达式n执行
7、语句n else执行语句el end 如果逻辑表达式的值为真,则执行语句1,若逻辑表达式的值为假,则判断逻辑表达式2的值,若为真,则执行语句2,否则向下执行,若所有表达式均为假,执行语句el。,例2-8-3,switch语句 switch语句的格式为:switch 表达式(标量或字符串)case 值1语句1case 值2语句2case 值n语句notherwise语句owend 表达式的值和哪种情况(case)的值相同,就执行哪种情况中的语句,如果都不同,则执行otherwise中的语句。,输入简单的矩阵,在MATLAB中不必描述矩阵的维数和类型,而由输入的格式和内容来决定。输入小矩阵最简单的
8、方法:把矩阵的元素直接排列到方括号中。每行内的元素间用空格(space)或逗号(,)分开,行与行的内容间用分号(;)隔开。,下标引用,矩阵下标(按列优先排列)用两个下标来表示。第i行j列的元素用A(i,j)来表示用一个下标来表示。对于矩阵按列操作,可用单下标引用A(i)。在下标的表达式中使用冒号表示矩阵的一部分。下标引用从序号1开始。,例如:A(1:k,j)表示矩阵A的第j列的前k个元素。A(:,j)表示矩阵A的第j列的所有元素。,2.3 矩阵运算,矩阵的组合,矩阵的抽取,例2-9,例2-10,删除矩阵的行和列,例2-11,把空的 称为空矩阵,即矩阵大小为00。可以通过把矩阵的行或列赋值为空矩
9、阵来删除某行或某列。,X%将一个00的矩阵赋给XA(:,2 4)=%则将A的第二列和第四列删除了A(:,2)=%删除矩阵A的第二列,矩阵的组合即把小矩阵组合成大矩阵,组合符号为中括号。,用下标可以从大矩阵里面抽取某些元素组成小的矩阵,并使用()运算符。,矩阵运算,矩阵的加减,使用、运算符,并满足以下两个条件之一:(1)类型相同,即行数相等,且列数相等。(2)其中一个为标量,则矩阵中每一个元素都和标量做加减运算。,例2-13,矩阵的乘积,使用*运算符,必须满足维数条件。,矩阵的除法,例2-14,除法运算其意义相当于矩阵的求逆运算。还定义了矩阵的左除及右除。矩阵的左除:“”AB 即由Gauss消去
10、法求线性方程AX=B的解X=A-1B矩阵的右除:“/”BA是方程XA=B的解X=BA-1,表示复共轭转置,.表示普通转置。,矩阵的转置,矩阵的点运算,例2-15,两个矩阵之间的点运算是对该矩阵对应元素的直接运算。点乘积运算要求矩阵的维数相同。点乘积又称为Hadamard乘积。常用的点运算包括:.*,./,.,.,.。,例2-16,矩阵函数,三角分解,将一个方阵表示成两个基本三角阵的乘积,其中一个三角阵为上三角阵,另一个为下三角阵。这种分解被称为LU分解。,L,U=lu(A)%求矩阵A的LU分解Xinv(A)%求矩阵A的逆矩阵d=det(A)%求矩阵A的行列式,三角分解,deig(A);V,De
11、ig(A);V,Deig(A,nobalance),求解A矩阵的特征值和特征向量,其调用格式为:,d为矩阵A的特征值向量;D为A阵的特征值对角阵,V为A阵的全部右特征向量,;nobanlance选项当A矩阵中有的元素小到和截断误差相当时用,一般用nobalance选项来减少计算误差。,矩阵的尺寸,为了判断矩阵的尺寸,Matlab提供了以下函数:m,n=size(A)%返回矩阵的行数m和列数nM=size(A)%在矩阵M中返回矩阵的行数、列数len=length(A)%返回矩阵A行数和列数中的最大值,特殊矩阵的生成,例2-161,单位矩阵eye(n)%生成n维单位阵eye(m,n)%生成mn的单
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 程序设计

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