版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第2章章 MATLAB应用基础应用基础l 本章要点本章要点1n MATLAB 变量及其操作变量及其操作n MATLAB数组与矩阵数组与矩阵nMATLAB M文件文件nMATLAB 程序控制结构程序控制结构l 主要内容主要内容n2.1 MATLAB变量及其操作变量及其操作n2.2 MATLAB数组与矩阵运算数组与矩阵运算n2.3 数学函数数学函数n2.4 M文件文件n2.5 程序控制结构程序控制结构2矩阵是矩阵是MATLAB最基本、最重要的数据对最基本、最重要的数据对象,象,MATLAB的大部分运算或命令都是在矩的大部分运算或命令都是在矩阵运算的意义下执行的,而且这种运算定义阵运算的意义下执行
2、的,而且这种运算定义在复数域上。向量和单个数据都可以作为矩在复数域上。向量和单个数据都可以作为矩阵的特例来处理。阵的特例来处理。l数值数据:双精度型、单精度数、带符号整数值数据:双精度型、单精度数、带符号整数和无符号整数、复数数和无符号整数、复数l字符数据。字符数据。l结构体结构体(Structure)和单元和单元(Cell)数据类型。数据类型。l稀疏矩阵稀疏矩阵(Sparse)。l逻辑型数据。在逻辑型数据。在MATLAB中,以数值中,以数值1(非零非零)表示表示“真真”,以数值,以数值0表示表示“假假”。用。用logical()函数将任何非零的数值转换为函数将任何非零的数值转换为true,将
3、数值将数值0转换为转换为false3整数类型:整数类型:名名 称称表示表示范围范围转换函转换函数数 名名 称称表示范表示范围围转换函转换函数数有符号有符号1字节整数字节整数27271int8()无 符 号 1字节整数0281uint8()有符号有符号2字节整数字节整数 2152151int16()无 符 号 2字节整数02161uint16()有符号有符号4字节整数字节整数 2312311int32()无 符 号 4字节整数02321uint32()有符号有符号8字节整数字节整数 2632631int64()无 符 号无 符 号 8字节整数字节整数02641uint64()4浮点数:浮点数:名
4、名 称称存存 储储 空空 间间表表 示示 范范 围围转转 换换 函函 数数单精度浮点单精度浮点数数4字节3.4028210383.402821038single()双精度浮点双精度浮点数数8字节字节1.79769 103081.79769 10308double()5复数:复数: 用用i或或j产生复数产生复数 用用complex()函数产生复数函数产生复数 例:例:a = 5+10i x = 5; y = 10; c = x+y*i,b = complex(x,y)61变量命名变量命名在在MATLAB 7.11中,变量名是以字母开头,后接中,变量名是以字母开头,后接字母、数字或下划线的字符序列
5、,最多字母、数字或下划线的字符序列,最多63个字符个字符。在。在MATLAB中,变量名区分字母的大小写。中,变量名区分字母的大小写。 2x : 错误错误: 不应为不应为 MATLAB 表达式表达式 _x: 输入字符不是输入字符不是 MATLAB 语句或表达式中的有语句或表达式中的有效字符。效字符。 x:未定义函数或变量未定义函数或变量 x。 x=6 : x = 62.1 变量及其操作7注意:注意:1.变量名区分字母的大小写变量名区分字母的大小写 例如:例如:abc ABC aBc 代表三个不同的变量代表三个不同的变量 2. MATLAB提供的标准函数名以及命令名必提供的标准函数名以及命令名必须
6、用小写字母。须用小写字母。 例如:例如: sin(A)不能写成不能写成Sin(A)或或SIN(A)8 2赋值语句赋值语句(1) 变量变量=表达式表达式 : (2) 表达式:表达式: 表达式是用运算符将有关运算量连接起来的式子表达式是用运算符将有关运算量连接起来的式子,其结果是一个矩阵。,其结果是一个矩阵。 (1)将表达式的值赋给左边的变量(2)将表达式的值赋给MATLAB预定义变量ans例:rho = (1+sqrt(5)/2 (1+sqrt(5)/2 rho = ans = 1.6180 1.6180注意:在注意:在MATLAB语句后面可以加上注释,注释以语句后面可以加上注释,注释以%开头,
7、后面是注释的内容。开头,后面是注释的内容。9 3.一些特殊变量和常量一些特殊变量和常量 在在MATLAB工作空间中,还驻留几个由系统本工作空间中,还驻留几个由系统本身定义的变量。例如,用身定义的变量。例如,用pi表示圆周率表示圆周率的近似值的近似值,用,用i,j表示虚数单位。表示虚数单位。预定义变量有特定的含义,在使用时,应尽量避预定义变量有特定的含义,在使用时,应尽量避免对这些变量重新赋值。免对这些变量重新赋值。1011 4.字符串字符串 字符串是用单撇号括起来的字符序列。字符串是用单撇号括起来的字符序列。 例: x = Liaocheng UniversityMATLAB将字符串当作一个行
8、向量,每个元素对将字符串当作一个行向量,每个元素对应一个字符,其标识方法和数值向量相同。应一个字符,其标识方法和数值向量相同。 例: x(1) ans = L可以用可以用建立多行字符串矩阵。建立多行字符串矩阵。要求各行字符数要相等。如果字符数不相等,可以用空格来调整。例:ch=Li Qiang; Wangfang; Sun junch =Li QiangWangfangSun jun12 也可以用函数也可以用函数char()建立建立多行字符串矩阵多行字符串矩阵。输入的输入的时候不时候不要求各行字符数要相等,自动添加空格进行调整例:ch=char(first; second)ch =firsts
9、econd13 字符串是以字符串是以ASCII码形式存储的。码形式存储的。 abs和和double函数都可以用来获取字符串矩阵所对函数都可以用来获取字符串矩阵所对应的应的ASCII码数值矩阵。码数值矩阵。例:abs(A), double(Liaocheng University)ans = 65ans = 76 105 97 111 99 104 101 110 103 32 85 110 105 118 101 114 115 105 116 12114 相反,相反,char函数可以把函数可以把ASCII码矩阵转换为字符码矩阵转换为字符串矩阵。串矩阵。 例如 显示一个3行32列的ASCII
10、字符变量串:ascii = char(reshape(32:127,32,3)输出结果为ascii = ! # $ % & ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; ? A B C D E F G H I J K L M N O P Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z | 15重新调整矩阵的行数、重新调整矩阵的行数、列数、维数列数、维数表示转置表示转置常用函数常用函数eval和和disp调用格式:调用格式:eval(t),disp(t)其
11、中其中t为字符串为字符串。功能:功能: eval(t)把字符串把字符串的内容作为对应的的内容作为对应的MATLAB语句来执行语句来执行。例:a = eval(sqrt(3) %计算3的平方根,赋给a输出:输出:a = 1.7321注意:注意:若字符串中的字符含有单撇号,则该单撇号若字符串中的字符含有单撇号,则该单撇号字符字符应用应用两个单撇号来表示。两个单撇号来表示。例: Im a sdudent ans=Im a sdudentdisp(t):输出字符串disp(Im a student ) 输出 Im a student16对较长的字符串可以用字符串向量表示,用对较长的字符串可以用字符串向
12、量表示,用括起来括起来例:f=70;c = (f-32)/1.8; room temperature is num2str(c) degree ans = room temperature is 21.1111 degree注意:字符串向量中的每一项之间可以用空格或者逗号,隔开 17常用的字符串处理函数:常用的字符串处理函数:18函数名函数名含义含义abs字符串到ASCII码转换charASCII码到字符的转换mat2str将矩阵转换成字符串num2str将数值转换成字符串int2str将整数转换成字符串常用的字符串处理函数:常用的字符串处理函数:19函数名函数名含义含义lower字符串变小写
13、str2num将字符串转换成数值strcat字符串连接,同strcmp字符串比较upper字符串变大写讲在结构和单元矩阵之前:矩阵的建立讲在结构和单元矩阵之前:矩阵的建立1直接输入法直接输入法 最简单的建立矩阵的方法是采用矩阵构造符“”从键盘直接输入矩阵的元素。 构造1n矩阵(行向量)时,可以将各元素依次放入矩阵构造符内,并且以空格或者逗号分隔;构造mn矩阵时,每行如上处理,并且行与行之间用分号分隔。例:a=1;b=2;c=3; x=5 b c;a*b,a+c,c/b2利用利用M文件建立矩阵文件建立矩阵 对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。 3建立大矩阵建立大矩阵大矩阵可由
14、方括号中的小矩阵或向量建立起来。 例:A=1 2 3;4 5 6;7 8 9;C=A,eye(size(A); ones(size(A),AC = 1 2 3 1 0 0 4 5 6 0 1 0 7 8 9 0 0 1 1 1 1 1 2 3 1 1 1 4 5 6 1 1 1 7 8 94 矩阵元素矩阵元素(1)通过下标引用矩阵的元素,例如)通过下标引用矩阵的元素,例如A(3,2)=200(2)采用矩阵元素的序号来引用矩阵元素。)采用矩阵元素的序号来引用矩阵元素。 矩阵元素的序号就是相应元素在内存中的排列顺序。在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依次类推。例如A=1,2,
15、3;4,5,6;A(3)ans = 2序号序号(Index)与下标与下标(Subscript )是一一对应的,以是一一对应的,以mn矩阵矩阵A为例,矩阵元素为例,矩阵元素A(i,j)的序号为的序号为(j-1)*m+i。其相互转换关系也可利用。其相互转换关系也可利用sub2ind和和ind2sub函数求函数求得。得。5. 结构矩阵和单元矩阵结构矩阵和单元矩阵一、结构矩阵一、结构矩阵 通过使用结构(通过使用结构(Structure)数据类型把一组不同)数据类型把一组不同类型的数据同时又是在逻辑上相关的数据组成一个类型的数据同时又是在逻辑上相关的数据组成一个有机的整体,以便于管理和引用。有机的整体,
16、以便于管理和引用。231 结构结构矩阵的建立与引用矩阵的建立与引用(1)建立)建立格式格式: 结构矩阵名结构矩阵名 . 成员名成员名表达式表达式 结构矩阵名结构矩阵名=struct(field1,field2,)例:例:ssssss = struct(type,big,little,color,red,x,3,4)s2 = struct(name,x1,x2,x3,age,21,23,19,id,1,2,3)数值不需要加单撇号24s(1).type = big;s(1).color = red;s(1).x = 3;s(2).type = little;s(2).color = red;s(2
17、).x = 4;结构包含2个元素s(1),s(2),每个元素包含3个成员type,color,x(2)引用格式)引用格式: 结构矩阵元素的成员:显示这个成员的具体内容。 s(1).type 结构元素:显示成员名和它的值,但成员如果是矩阵,则不显示矩阵具体内容,而只显示矩阵的大小参数。 s(1) 结构矩阵:显示结构矩阵的大小参数和成员名。 s252 结构结构矩阵成员的增加和删除矩阵成员的增加和删除 增加成员增加成员可给s中任意一个元素增加成员x4:例: s(1).x4 = 410075 其他结构元素的成员均为空矩阵,可以用赋值语句给其赋确定的值删除成员删除成员使用rmfield函数删除结构的成员
18、例:删除成员例:删除成员x4:s=rmfield(s,x4);二、单元二、单元数据数据 定义:定义:单元(Cell)数据的概念与结构有些类似,也是把不同属性的数据放在一个变量中。 区别:区别:结构变量是一种嵌套形式数据,即一个结构矩阵包含若干个结构元素,元素又包含若干成员。对成员的引用是:结构变量名.成员名。而单而单元矩阵则像数值矩阵一样将不同类型的数据以矩元矩阵则像数值矩阵一样将不同类型的数据以矩阵行列的形式存储数据,并用带有大括号下标的阵行列的形式存储数据,并用带有大括号下标的形式引用单元矩阵元素。形式引用单元矩阵元素。1 1 建立与引用建立与引用(1)单元矩阵的建立 使用直接建立b=10
19、,liu,11,21;34,78;12,wang,1,2,3,4 使用函数cell建立 c= cell(m,n)或c= cell(m,n),创建m行n列空单元矩阵 c = cell(size(A)创建维数与矩阵A相同的空单元矩阵例:b = cell(2,3); A = ones(2,2),c = cell(size(A)(2)单元矩阵的引用用带有花括号的下标的形式对单元矩阵元素进行引用输入b2,2输出结果是wangA = 1 1 1 1c = 2 2 显示与删除显示与删除v用celldisp(b)函数来显示整个单元矩阵vb(index)= 来删除矩阵的元素注意:注意:A) 当单元矩阵中的一个元
20、素被删除后,单元矩 阵自动变成行向量。 B) b(3)= %将第三个元素删除 b3= 给第三个元素设置为空矩阵。常用的结构及单元的处理函数:常用的结构及单元的处理函数:30函数名函数名含义含义struct建立或转换结构矩阵getfield获取结构成员的内容rmfield删除结构成员isstruct判断,是结构时值为真fieldnames获取结构成员名setfields设定结构成员的内容isfield成员在结构中时值为真常用的结构及单元的处理函数:常用的结构及单元的处理函数:31函数名函数名含义含义celldisp显示单元矩阵内容num2cell把数值矩阵转换为单元矩阵cell2struct单元
21、矩阵转换为结构矩阵iscell判断,是单元矩阵时值为真cellplot显示单元矩阵的图形描述deal把输入分配给输出struct2cell把结构矩阵转换为单元矩阵6. 几几个特殊的函数个特殊的函数who,whos,exist,all,any,find,format who:显示当前工作空间中所有变量的一个简单列表whos:则列出变量的大小、数据格式等详细信息a = exist(item,.), 查询当前的工作空间内是否存在某一条款item,返回的a值表示item为不同的类型,如表所示。 返回标号值返回标号值a Item的类型的类型0不存在1为工作空间中存在的变量2为M文件或未知类型文件3为ME
22、X文件存在于MATLAB搜索路径上4为MDL文件存在于MATLAB搜索路径上5为MATLAB内构函数6为一P文件存在于MATLAB搜索路径上7为目录8为JAVA类 B = any(A),测试数组矩阵,测试数组矩阵A是否有非零元素,如果是否有非零元素,如果有,则返回有,则返回1,否则返回,否则返回0.例: A = 0.53 0.67 0.01 0.38 0.07 0.42 0.69,any(A)产生1. B = all(A),测试数组矩阵,测试数组矩阵A是否所有的元素非零,如是否所有的元素非零,如果是,则返回果是,则返回1,否则会返回,否则会返回0.例:A = 0.53 0 0.01 0.38
23、0.07 0.42 0.69, all(A)产生0. k = find(X), 返回数组返回数组X含非零元素的指数,如果没含非零元素的指数,如果没有返回一个空矩阵。有返回一个空矩阵。 i,j = find(X), 返回数组X含非零元素的行列指数。 通常find(X)将X看成是X(:),即一个按X各列连接起来的列向量。例如M = 2,3;0,-6k= find(M)i,j = find(M)M = 2 3 0 -6k = 1 3 4i = 1 1 2j = 1 2 2 formatformat typeformat(type),设置或改变数据输出格式,其中type决定数据的输出格式各种type及
24、其含义如表2.5所示。(教材Pg.15)2.2.1 冒号表达式冒号表达式 冒号表达式可以产生一个行向量,一般格式是:冒号表达式可以产生一个行向量,一般格式是: e1:e2:e3 e1为初始值,为初始值,e2为步长,为步长,e3为终止值,都为正整数为终止值,都为正整数 j:k j,j+1,j+2,k j:i:k j,j+i,j+2*i,k A(:,j) 矩阵矩阵A的第的第j列列 A(i,:) 矩阵矩阵A的第的第i行行 A(:,j:k) 表示表示A(:,j) ,A(:,j+1) ,A(:,j+2),A(:,k) A(:,:) = A A(:) 将将A看成是列向量,表示看成是列向量,表示A的所有元素
25、的所有元素2.2 MATLAB数组与矩阵运算用用linspace函数产生行向量。其调用格式为:函数产生行向量。其调用格式为:linspace(a,b,n)其中a和b是生成向量的第一个和最后一个元素,n是元素总数。省略n时自动生成100个数。显然,linspace(a,b,n)与a:(b-a)/(n-1):b等价。例:a = linspace(1,10,10); a = 1:2:10 在对数空间建立向量在对数空间建立向量logspace(n1,n2,n) 在对数空间中行矢量的值从10n1到10n2,数据个数为n,省略时默认n为50例:a = logpace(1,3,3);2.2.2 矩阵的建立矩
26、阵的建立1直接输入法直接输入法 最简单的建立矩阵的方法是采用矩阵构造符“”从键盘直接输入矩阵的元素。 构造1n矩阵(行向量)时,可以将各元素依次放入矩阵构造符内,并且以空格或者逗号分隔;构造mn矩阵时,每行如上处理,并且行与行之间用分号分隔。例:a=1;b=2;c=3; x=5 b c;a*b,a+c,c/b2利用利用M文件建立矩阵文件建立矩阵 对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。 3建立大矩阵建立大矩阵大矩阵可由方括号中的小矩阵或向量建立起来。 例:A=1 2 3;4 5 6;7 8 9;C=A,eye(size(A); ones(size(A),AC = 1 2 3 1
27、 0 0 4 5 6 0 1 0 7 8 9 0 0 1 1 1 1 1 2 3 1 1 1 4 5 6 1 1 1 7 8 92.2.3 矩阵的拆分矩阵的拆分1矩阵元素矩阵元素(1)通过下标引用矩阵的元素,例如)通过下标引用矩阵的元素,例如A(3,2)=200(2)采用矩阵元素的序号来引用矩阵元素。)采用矩阵元素的序号来引用矩阵元素。 矩阵元素的序号就是相应元素在内存中的排列顺序。在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依次类推。例如A=1,2,3;4,5,6;A(3)ans = 2序号序号(Index)与下标与下标(Subscript )是一一对应的,以是一一对应的,以mn
28、矩阵矩阵A为例,矩阵元素为例,矩阵元素A(i,j)的序号为的序号为(j-1)*m+i。其相互转换关系也可利用。其相互转换关系也可利用sub2ind和和ind2sub函数求函数求得。得。2矩阵拆分矩阵拆分 (1) 利用冒号表达式获得子矩阵利用冒号表达式获得子矩阵 A(:,j)表示取表示取A矩阵的第矩阵的第j列全部元素;列全部元素;A(i,:)表示表示A矩阵第矩阵第i行的全部元素;行的全部元素;A(i,j)表示取表示取A矩阵矩阵第第i行、第行、第j列的元素。列的元素。 例:例:A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 1
29、8 25 2 9 A(:,3),A(2,:), A(4,3)ans = 1 7 13 19 25ans = 23 5 7 14 16ans = 19 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列中的所有元素。列中的所有元素。 例:例:A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 A(1:3,
30、:),A(:,2:4),A(1:3,2:4)ans = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22ans = 24 1 8 5 7 14 6 13 20 12 19 21 18 25 2ans = 24 1 8 5 7 14 6 13 20 A(:)将矩阵将矩阵A每一列元素堆叠起来,成为一个列每一列元素堆叠起来,成为一个列向量,而这也是向量,而这也是MATLAB变量的内部储存方式。变量的内部储存方式。此外,还可利用一般向量和此外,还可利用一般向量和end运算符来表示矩阵运算符来表示矩阵下标,从而获得子矩阵。下标,从而获得子矩阵。end表示某一维的末尾元表示某一
31、维的末尾元素下标。素下标。 例:例:A = 8 1 6 3 5 7 4 9 2 A(:)ans = 8 3 4 1 5 9 6 7 2A(end-1:end,end-2:end)ans = 3 5 7 4 9 2 (2) 利用空矩阵删除矩阵的元素利用空矩阵删除矩阵的元素 在在MATLAB中,定义中,定义为空矩阵。给变量为空矩阵。给变量X赋空矩赋空矩阵的语句为阵的语句为X=。这样。这样X矩阵中原来的元素全部被删矩阵中原来的元素全部被删除了。除了。 可以将矩阵的某一行或者某一列赋值为空矩阵,可以将矩阵的某一行或者某一列赋值为空矩阵,将该行或该列删除。将该行或该列删除。 例:例:A = magic(
32、2), A(1,:) = A = 1 3 4 2 注意:注意:X=与与clear X不同,不同,clear是将是将X从工作空间中从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为删除,而空矩阵则存在于工作空间中,只是维数为0。A = 4 2 2.2.4 MATLAB数据的运算数据的运算 1基本算术运算基本算术运算 MATLAB的基本算术运算有:的基本算术运算有:(加加)、(减减)、*(乘乘)、/(右除右除)、(左除左除)、(乘方乘方)、(共轭转置(共轭转置)、()括号)、()括号 ()括号,高优先级别()括号,高优先级别注意:运算是在矩阵意义下进行的,单个数据的注意:运算是在矩阵意义下进
33、行的,单个数据的算术运算只是一种特例。算术运算只是一种特例。 (1) 矩阵加减运算矩阵加减运算 假定有两个矩阵假定有两个矩阵A和和B,则可以由,则可以由A+B和和A-B实现实现矩阵的加减运算。矩阵的加减运算。 运算规则:运算规则:维数必须相同,将矩阵维数必须相同,将矩阵A和和B的相应元素的相应元素相加减相加减 例:例:A = magic(2); B = ones(2); A-B (2) 矩阵乘法矩阵乘法 假定有两个矩阵假定有两个矩阵A和和B,若,若A为为mn矩阵,矩阵,B为为np矩阵,则矩阵,则C=A*B为为mp矩阵矩阵。例:例:A = magic(2); B = ones(2,3); A*B
34、 (3) 矩阵除法矩阵除法左除左除 右除右除/ AB等效于等效于A的逆左乘的逆左乘B矩阵,也就是矩阵,也就是inv(A)*B B/A等效于等效于A的逆右乘的逆右乘B矩阵,也就是矩阵,也就是B*inv(A)对于含有标量的运算,如对于含有标量的运算,如3/4和和43有相同的值,都有相同的值,都等于等于0.75。 又如,设又如,设a=10.5,25,则,则a/5=5a=2.1000 5.0000。 对于矩阵来说,左除和右除表示两种不同的除数矩对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。对于矩阵运算,一般阵和被除数矩阵的关系。对于矩阵运算,一般ABB/A。 (4) 矩阵的乘方矩阵
35、的乘方 一个矩阵的乘方运算可以表示成一个矩阵的乘方运算可以表示成Ax,要,要求求A为方阵,为方阵,x为标量。为标量。 例:例:A3表示A*A*A (5) 矩阵矩阵的转置的转置 表示共轭转置表示共轭转置 .表示转置,但是不取共轭表示转置,但是不取共轭 例:例:y = 1+i,2+i;3+i,4+4i, y,y.ans = 1.0000 - 1.0000i 3.0000 - 1.0000i 2.0000 - 1.0000i 4.0000 - 4.0000ians = 1.0000 + 1.0000i 3.0000 + 1.0000i 2.0000 + 1.0000i 4.0000 + 4.0000
36、i2点运算点运算 在在MATLAB中,有一种特殊的运算,因中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点为其运算符是在有关算术运算符前面加点,所以叫点运算。点运算符有,所以叫点运算。点运算符有.*、./、.和和.。两矩阵进行点运算是指它们的对应元素两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维数相同。进行相关运算,要求两矩阵的维数相同。例:例:A = magic(2);B = 2,3;4,1A.*B,A./B,A.B,A.23关系关系运算运算MATLAB提供了提供了6种关系运算符:种关系运算符:(小于小于)、(大于大于)、=(大于或等于大于或等于)、=(等于等于)
37、、=(不等于不等于)。运算法则:运算法则: (1) 当两个比较量是标量时,直接比较两数的大小。当两个比较量是标量时,直接比较两数的大小。若关系成立,关系表达式结果为若关系成立,关系表达式结果为1,否则为,否则为0。 例:例:x=1,y=2 x=y,xy,x=y,x=y 1 0 1 0 0 1运算法则:运算法则:(2) 当参与比较的一个是标量,而另一个是矩阵时,当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。最终的关系运算逐个比较,并给出元素比较结果。最终的关系运算的结果是一个维数与原
38、矩阵相同的矩阵,它的元素的结果是一个维数与原矩阵相同的矩阵,它的元素由由0或或1组成。组成。 例:例:x=1, y =magic(2) x=y, xy, x=y,x=yy = 1 3 4 2ans = 1 1 1 0 0 1 0 0 1 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1ans = 1 1 1 0 0 1 0 0 1 0 0 1 1 0 0 1 1 0 0 1 0 0 1 1运算法则:运算法则: (3)当参与比较的量是两个维数相同的矩阵时,比较当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐是对两矩阵相同位置的元素按标量关系运算规则
39、逐个进行,并给出元素比较结果。最终的关系运算的个进行,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由结果是一个维数与原矩阵相同的矩阵,它的元素由0或或1组成。组成。 例:例:x=1 2;3 4, y =magic(2) x=y, xy, x=y,x=yx = 1 2 3 4y = 1 3 4 24逻辑运算逻辑运算MATLAB提供了提供了3种逻辑运算符:种逻辑运算符:&(与与)、|(或或)和和(非非)。运算法则:运算法则: (1) 在逻辑运算中,非零元素为真,用在逻辑运算中,非零元素为真,用1表示,零表示,零元素为假,用元素为假,用0表示。表示。 (2)
40、 设参与逻辑运算的是两个标量设参与逻辑运算的是两个标量a和和b,那么,那么, a&b : a,b全为非零时,运算结果为全为非零时,运算结果为1,否则为,否则为0 a|b : a,b中只要有一个非零,运算结果为中只要有一个非零,运算结果为1。 a 当当a是零时,运算结果为是零时,运算结果为1;当;当a非零时,运非零时,运算结果为算结果为0。 例:例: a=0,b=3,a&b,a|b,a,b ans = 0 1 1 0运算法则:运算法则: (3) 若参与逻辑运算的是两个同维矩阵,那么运若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进行算将对矩阵相同位置上的元素按标量规则逐个进行。最终运算结果是一个与原矩阵同维的矩阵
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论