当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

《数字信号处理》教学参考资料(MATLAB 5手册)第3章 矩阵运算

资源类别:文库,文档格式:PDF,文档页数:13,文件大小:383.54KB,团购合买
3.1 加法和减法 37 3.2 乘法 37 3.3 除法 40 3.4 转置和共轭 41 3.5 元素操作算术运算 42 3.6 元素操作函数 43 3.7 矩阵的乘方与函数 44 3.8 关系运算符 45 3.9 逻辑运算符 46 3.10 逻辑函数 47
点击下载完整版文档(PDF)

China-pub.coM 下载 第3章矩阵运算 MATLAB中的大多数运算可以直接对矩阵应用。除了在第2.4节中讨论的算术运算+、一、 *、八、/人、1外,还有用于转置和共轭的运算符、有理数运算符和逻辑运算符。 MATLAB学生版的用户应该知道矩阵中的元素总数极限是16384。 此外,矩阵有算术函数和逻辑函数,有些函数仅能在二维矩阵中使用。 3.1加法和减法 如果矩阵A和B具有相同的维数,那么就可以定义两个矩阵的和A+B和两个矩阵的差A一B。 矩阵A士B,即元素agp士bgp。在MATLAB中,一个mXn矩阵A和一个标量,即一个1X1矩阵 s之间也能进行加和减运算。矩阵A+s得到与A相同的维数,元素为a十s。 ■例3.1 假设A和B定义如下: A-(G)B=(8) MATLAB命令 Add=A+B, sub-AB,Add100=A+100 得到结果: Add 6 8 10 12 Sub -4 -4 -4 -4 Add100= 101102 103 104 ■ 3.2乘法 如果矩阵A的列数等于矩阵B的行数,那么矩阵相乘,即C=AB,就被定义为二维矩阵。如果 不是这种情况,MATLAB就返回一个错误信息。只有一个例外就是这两个矩阵之一是1X1,如一 个标量,那么MATLAB是可以接受的。在MATLAB中,乘法的运算符是*,因此,命令是C=A*B。 元素c是A的第i行和B的第j列的点积。点积的定义可参见命令集23和附录B。矩阵C有与 A相同的行数和与B相同的列数

下载 第3章 矩 阵 运 算 M AT L A B中的大多数运算可以直接对矩阵应用。除了在第 2 . 4节中讨论的算术运算 +、-、 *、^、/、\外,还有用于转置和共轭的运算符、有理数运算符和逻辑运算符。 M AT L A B学生版的用户应该知道矩阵中的元素总数极限是 1 6 3 8 4。 此外,矩阵有算术函数和逻辑函数,有些函数仅能在二维矩阵中使用。 3.1 加法和减法 如果矩阵A和B具有相同的维数,那么就可以定义两个矩阵的和 A+B和两个矩阵的差A-B。 矩阵A±B,即元素ai j…p±bi j…p。在M AT L A B中,一个m×n矩阵A和一个标量,即一个1×1矩阵 s之间也能进行加和减运算。矩阵 A+s得到与A相同的维数,元素为ai j+s。 ■ 例3 . 1 假设A和B定义如下: M AT L A B命令 Add=A+B, Sub=A-B, Add100=A+100 得到结果: 3.2 乘法 如果矩阵A的列数等于矩阵B的行数,那么矩阵相乘,即C = A B,就被定义为二维矩阵。如果 不是这种情况,M AT L A B就返回一个错误信息。只有一个例外就是这两个矩阵之一是1×1,如一 个标量,那么M AT L A B是可以接受的。在M AT L A B中,乘法的运算符是*,因此,命令是C = A*B。 元素ci j是A的第i行和B的第j列的点积。点积的定义可参见命令集 2 3和附录B。矩阵C有与 A相同的行数和与B相同的列数。 ■

38 China-pub.com MATLAB5手册 下载 对于方阵,也定义了积BA,但其结果通常与AB不同。 ■例3.2 (a)假设A和B如同例3.1,命令 A,B,MultAB=B,MultBA 在屏幕上显示如下的结果: A= 1 2 3 B= S 6 7 8 MultAB 19 22 43 50 MultBA 23 34 31 46 (b)令x和y为: x=(123) y= 10 100 命令s=x*y, M=y*x,结果为: S= 321 M= 1 2 10 20 30 100 200 300 ■ MATLAB也包含其他乘积。命令dot(x,y)得到具有相同元素数量的两个向量x和y的点 积,也称为标量积或内积。如果点积为零,则两个向量是正交的。如果A和B具有相同的维数, 则定义两个矩阵A和B的点积,在MATLAB中定义列方式。其结果是一个行向量,其元素是第 1列、第2列等的点积,可参见附录B。 命令集23 点积 dot(x,y) 得到向量x和y的点积 dot(A,B) 得到一个长度为的行向量,这里的元素是A和B对应列的点积。矩 阵A和B必须是具有相同的维数mXn。多维矩阵可参见helpdesk。 dot(A,B,dim在dim数组中给出A和B的点积

对于方阵,也定义了积B A,但其结果通常与A B不同。 ■ 例3 . 2 (a) 假设A和B如同例3 . 1,命令 A, B, MultAB=A*B, MultBA=B*A 在屏幕上显示如下的结果: (b) 令x和y为: 命令s = x* y, M = y* x,结果为: M AT L A B也包含其他乘积。命令 d o t ( x,y )得到具有相同元素数量的两个向量 x和y的点 积,也称为标量积或内积。如果点积为零,则两个向量是正交的。如果 A和B具有相同的维数, 则定义两个矩阵A和B的点积,在M AT L A B中定义列方式。其结果是一个行向量,其元素是第 1列、第2列等的点积,可参见附录B。 命令集2 3 点积 dot(x, y) 得到向量x和y的点积 dot(A, B) 得到一个长度为n的行向量,这里的元素是A和B对应列的点积。矩 阵A和B必须是具有相同的维数m×n。多维矩阵可参见h e l p d e s k。 dot(A, B, dim)在d i m数组中给出A和B的点积。 3 8 M ATLAB 5 手册 下载 ■

China-bub.com 第3章矩阵运算 下载 对于各具三个元素的两个向量x和y,命令cross(x,y给出向量积或叉积,即: xx y=(x2y3-x3y2 x3y1-x1y3 x1y2-X2)1) 对向量x和y,向量xXy是正交的。 cross命令也可以应用于3Xn矩阵,其结果是一个3Xn矩阵,这里的第i列是A和B中的第 列的叉积。 命令集24 叉积 cross(x,y) 得到向量x和y的叉积。 cross(A,B) 得到一个3×n矩阵,其中的列是A和B对应列的叉积。矩 阵A和B必须具有相同的维数3×n。 cross(A,B, dim)在dim数组中给出向量A和B的叉积。A和B必须具有相同 的维数,size(A,dim和size(B,dim必须是3。 ■例3.3 假设: x=(100) y=(010) 命令crossprod=cross(8,y得到: crossprod= 001 对x和y,它是正交的,即: scalarl=dot(x,crossprod),scalar2=dot(y,crossprod) 得: scalar1 0 scalar2 0 ■ 在MATLAB中,有一个完成二维矩阵卷积的函数。可以使用FIR滤波器(有限脉冲响应)作 为一个自变量,这部分内容在helpdesk中描述。 命令集25 矩阵的卷积 conv2 (A,B) 返回矩阵A和B的二维卷积 conv2(hcol,hrow,A)矩阵A与向量hcol列方式和向量hrow行方式的卷积。 conv2(…,format) 得到一个卷积的特殊形式。参数format必须是下列 字符串之一: “same'返回最接近中心的部分卷积,其维数与相同。 “vaid'仅返回不考虑边缘补零计算的部分卷积。 convn(A,B) 返回矩阵A和B的多维卷积。 convn (.format) 得到卷积的一个特殊形式,如上所示

对于各具三个元素的两个向量 x和y,命令cross(x, y)给出向量积或叉积,即: 对向量x和y,向量x×y是正交的。 c r o s s命令也可以应用于3×n矩阵,其结果是一个3×n矩阵,这里的第i列是A和B中的第 i列的叉积。 命令集2 4 叉积 cross(x, y) 得到向量x和y的叉积。 cross(A, B) 得到一个3×n矩阵,其中的列是 A和B对应列的叉积。矩 阵A和B必须具有相同的维数3×n。 cross(A, B, dim) 在d i m数组中给出向量 A和B的叉积。A和B必须具有相同 的维数,size(A, dim)和size(B, dim)必须是3。 ■ 例3 . 3 假设: x=(1 0 0) y=(0 1 0) 命令crossprod=cross(x, y) ,得到: c r o s s p r o d = 0 0 1 对x和y,它是正交的,即: scalar1=dot(x,crossprod), scalar2=dot(y,crossprod) 得: 在M AT L A B中,有一个完成二维矩阵卷积的函数。可以使用 F I R滤波器(有限脉冲响应)作 为一个自变量,这部分内容在 h e l p d e s k中描述。 命令集2 5 矩阵的卷积 conv2(A, B) 返回矩阵A和B的二维卷积 conv2(hcol, hrow, A)矩阵A与向量h c o l列方式和向量h ro w行方式的卷积。 c o n v 2 (…, f o r m a t ) 得到一个卷积的特殊形式。参数 f o r m a t必须是下列 字符串之一: ‘s a m e’返回最接近中心的部分卷积,其维数与A相同。 ‘v a l i d’仅返回不考虑边缘补零计算的部分卷积。 convn(A, B) 返回矩阵A和B的多维卷积。 c o n v n (…, format) 得到卷积的一个特殊形式,如上所示。 第3章 矩 阵 运 算 3 9 下载 ■

40 China-pub.coM MATLAB5手册 下载 Kronecker张量积可以用于创建大的矩阵,它由命令kron(A,B)得到。如果A是一个mXn 矩阵,B是一个kXr矩阵,那么这个命令就返回一个m·kXr·n的矩阵。 命令集26 张量积 kron(A,B) 得到A和B的Kronecker张量积。 ■例3.4 假设: A=(子9)B=(G6 命令K=kron(A,的结果为: K= 4 6 0 0 2 0 2 0 0 -1 -2 -3 3 -1 0 -1 0 1 ■ 3.3除法 在MATLAB中,有两个矩阵除法的符号,左除1和右除/。如果A是一个非奇异方阵,那么 A\B和B/A对应A的逆与B的左乘和右乘,即分别等价于命令inv(A)*B和B*inv(A)。可是, MATLAB执行它们时是不同的,如例3.5所示。A的逆,inv(A)或A-在第7.1节中介绍。 如果A是一个方阵,那么X=A\B是矩阵方程AX=B的解A-B,这里的X具有与B相同的维 数。在B=b是一个列向量这样一个特殊情况下,x=A\b是线性系统AX=b的解。参见第7.2节。 如果A是一个m>n的mXn矩阵,X=A\B得到矩阵方程AX=B的最小二乘解,参见第7.7节。 矩阵方程XA=B的解是X=B/A,它等同于(A'B')',即右除可以由左除定义。这里,撇 号’表示转置,这将在第3.4节中进行说明。 ■例3.5 (a)设A和B如例3.1一样定义,命令 A,B,Right=B/A,Left=A得到: A= 1 2 B= 6 6 7 8 Right -1 2 -2 3

K r o n e c k e r张量积可以用于创建大的矩阵,它由命令 kron(A, B)得到。如果A是一个m×n 矩阵,B是一个k×r矩阵,那么这个命令就返回一个 m·k×r·n的矩阵。 命令集2 6 张量积 k r o n ( A , B ) 得到A和B的K r o n e c k e r张量积。 ■ 例3 . 4 假设: 命令K=kron(A, B)的结果为: 3.3 除法 在M AT L A B中,有两个矩阵除法的符号,左除 \和右除/。如果A是一个非奇异方阵,那么 A \ B和B / A对应A的逆与B的左乘和右乘,即分别等价于命令 i n v ( A )*B和B*i n v ( A )。可是, M AT L A B执行它们时是不同的,如例 3 . 5所示。A的逆,i n v ( A )或A-1在第7 . 1节中介绍。 如果A是一个方阵,那么 X = A \ B是矩阵方程A X=B的解A-1B,这里的X具有与B相同的维 数。在B=b是一个列向量这样一个特殊情况下, x = A \ b是线性系统A X=b的解。参见第7 . 2节。 如果A是一个m>n的m×n矩阵,X = A \ B得到矩阵方程A X=B的最小二乘解,参见第7 . 7节。 矩阵方程X A=B的解是X=B / A,它等同于( A′\ B′)′,即右除可以由左除定义。这里,撇 号′表示转置,这将在第3 . 4节中进行说明。 ■ 例3 . 5 (a) 设A和B如例3 . 1一样定义,命令 A,B,Right=B/A, Left=A\B 得到: 4 0 M ATLAB 5 手册 下载 ■

China-pub.com 第3章矩阵运算 41 下载 Left -3-4 45 如果输入Right-B*inv(A)和Left=inv(A)*B,则得到 Right -1.0000 2.0000 -2.0000 3.0000 Left -3.0000 -4.0000 4.0000 5.0000 这分别与用/和计算的矩阵结果是一致的,但浮点格式表明它们的计算过程是不一样的。 (b)设下列A和b: b- 17 5 1 系统Ax=b的解在MATLAB中写作x=A\b,得到: X 1.0000 2.0000 3.0000 (c)使用如上的A和b,检查求解系统Ax=b的运算次数。 命令f1ops(0);x=inv(A)b:f1op给出结果: ans= 109 命令f1ops(0);X=A\b;f1给出结果: ans= 72 因此,在MATLAB中求解一个系统用左除比用逆和乘法所需的运算次数要少。命令 f1ops的定义参见第2.5节。 3.4转置和共轭 一个重要的运算是转置和共轭转置,它在MATLAB中用撇'表示。在课本中,这种运算经 常用*和表示 如果A是一个实数,那么它被转置时,第1行变成第1列,第2行变成第2列,依此类推,一 个mXn矩阵变为一个n×m矩阵。如果矩阵是方阵,那么这个矩阵在主对角线反映出来。 如果矩阵A的元素a是复数,那么所有元素也是共轭的。矩阵A'在项(i,)上含有ai。 如果仅希望转置,在撇号之前输入一点,‘,A.表示转置,其结果与coj(A)相同。如 果A是实数,那么A'与A.相同。 ■例3.6 假设A和b与例3.5(b)相同。 Transp=A',Transpb=b',得到: Transp 11 0

如果输入R i g h t = B*i n v ( A )和L e f t = i n v ( A )*B,则得到 这分别与用/和\计算的矩阵结果是一致的,但浮点格式表明它们的计算过程是不一样的。 (b) 设下列A和b: 系统A x=b的解在M AT L A B中写作x = A \ b,得到: (c) 使用如上的A和b,检查求解系统A x=b的运算次数。 命令f l o p s ( 0 ) ; x = i n v ( A )*b; flops给出结果: a n s = 1 0 9 命令flops(0); X=A\b; flops 给出结果: a n s = 7 2 因此,在 M AT L A B中求解一个系统用左除比用逆和乘法所需的运算次数要少。命令 f l o p s的定义参见第2 . 5节。 3.4 转置和共轭 一个重要的运算是转置和共轭转置,它在 M AT L A B中用撇´表示。在课本中,这种运算经 常用*和H表示 如果A是一个实数,那么它被转置时,第 1行变成第1列,第2行变成第2列,依此类推,一 个m×n矩阵变为一个n×m矩阵。如果矩阵是方阵,那么这个矩阵在主对角线反映出来。 如果矩阵A的元素ai j是复数,那么所有元素也是共轭的。矩阵 A´在项(i, j)上含有 。 如果仅希望转置,在撇号之前输入一点 .´,A.´表示转置,其结果与 c o n j ( A ´ ) 相同。如 果A是实数,那么A´与A.´相同。 ■ 例3 . 6 假设A和b与例3 . 5 ( b )相同。 T r a n s p = A´, T r a n s p b = b´,得到: aji 第3章 矩 阵 运 算 4 1 下载 ■

42 China-bub.com MATLAB5手册 下载 3 2 Transpb 22 17 13 3.5元素操作算术运算 算术运算也可以元素与元素逐次进行。矩阵的维数要相同,可以是多维的。如果运算是 由一点进行的,那么这个运算实行的是元素方式。 对于加法和减法,数组运算和矩阵运算没有差别。数组运算符是: 注意,并没有列出,这个点在那种情况下具有不同的含义。这个操作符仅给出转置, 与'相反,'给出了共轭转置,详见第3.4节。 ■例3.7 假设定义如下矩阵: A=()B-(1)c=(3+i+3对) (a)A*B得: ans 7 -1 0 (b)B./A得: ans 7 -1 0 (c)B.2得: ans 49 4 1 0 (d)A.B得: ans 1 4 -1 1 (e)基数是标量,而指数是一个矩阵,2.[1234]得: ans= 2 8 16 (DC.得: ans 1.0000+2.0000i 3.0000+1.00001 5.0000-2.0000i1.0000+3.0000i ■

3.5 元素操作算术运算 算术运算也可以元素与元素逐次进行。矩阵的维数要相同,可以是多维的。如果运算是 由一点进行的,那么这个运算实行的是元素方式。 对于加法和减法,数组运算和矩阵运算没有差别。数组运算符是: + - . * . / . \ . ^ 注意, .并没有列出,这个点在那种情况下具有不同的含义。这个操作符仅给出转置, 与¢相反,¢给出了共轭转置,详见第 3 . 4节。 ■ 例3 . 7 假设定义如下矩阵: (a) A.*B得: (b) B./A得: (c) B.^2得: (d) A.^B得: (e) 基数是标量,而指数是一个矩阵, 2.^[1 2 3 4]得: a n s = 2 4 8 1 6 (f) C.´ 得: 4 2 M ATLAB 5 手册 下载 ■ ■

China-pub.coM 第3章矩阵运算 43 下载 可参见例13.1,它也使用了数组运算。 3.6元素操作函数 在MATLAB中预定义的数学标准函数(见第2.4节)是基于矩阵对元素的运算。如果f是这样 一个函数,A是带元素a的一个矩阵,那么A)=a)。如果元素是复数,那么根据这个函数 产生的矩阵也可以是复数,矩阵的维数没有改变。 ■例3.8 令A、B和C为: (a)abs(A)得: ans 0 3 6 X % ⑤ (b)cos(B)得: ans -1.0000 1.0000 0.0000 0.7071 (c)sin(abs(c))得: ans 0.9878 0.0000 0 0.7867 ■ 数组运算符和数组函数在MATLAB中十分有用,用户可以定义自己的数组函数,并把它 们存放在M文件中,可参见第2.9节。 ■例3.9 函数sincos(x)=sin(x)cos(x)是一个非标准MATLAB函数,可是,你可以定义自己的函数 sincos并存放在文件sincos..m中。 function y=sincos(x) y=sin(x).+cos(x); 可如下调用sincos: y1 sincos(pi),y2 sincos([o pi/4 pi/2]) y1= -1.2246e-16 y2= 0 0.5000 0.0000

可参见例1 3 . 1,它也使用了数组运算。 3.6 元素操作函数 在M AT L A B中预定义的数学标准函数 (见第2 . 4节)是基于矩阵对元素的运算。如果 f是这样 一个函数,A是带元素ai j的一个矩阵,那么 f(A)i j=f(ai j)。如果元素是复数,那么根据这个函数 产生的矩阵也可以是复数,矩阵的维数没有改变。 ■ 例3 . 8 令A、B和C为: (a) a b s ( A )得: (b) c o s ( B )得: (c) s i n ( a b s ( C ) )得: 数组运算符和数组函数在 M AT L A B中十分有用,用户可以定义自己的数组函数,并把它 们存放在M文件中,可参见第2 . 9节。 ■ 例3 . 9 函数s i n c o s (x) = s i n (x) c o s (x)是一个非标准 M AT L A B函数,可是,你可以定义自己的函数 s i n c o s并存放在文件s i n c o s . m中。 function y=sincos(x) y = s i n ( x ) .*c o s ( x ) ; 可如下调用s i n c o s: 第3章 矩 阵 运 算 4 3 下载 ■

44 China-pub.coM MATLAB5手册 下载 看到,应该为0值的y1是一个十分小的数。事实上,ePs是较大的。如果用一个向量作为 一个自变量来调用sincos,因为sin和cos返回向量,所以其结果是一个向量。当绘制函数图 形时,这是十分有用的。 M文件的应用可参见第12章和第13章。 3.7矩阵的乘方与函数 对于二维方阵,A的p次乘方可以用A实现。如果p是一个正整数,那么这个幂可以由许 多矩阵乘法运算定义。对于p=0,得到与A维数相同的同一个矩阵:当p<0时,如果A存在, 可定义Ap,它是与inv(A)(-p)相同。 象exp(A)和sqrt(A)那样的MATLAB表达式可视为数组运算(参见第3.6节),即它们是对A中 元素逐个运算。 MATLAB也能处理方阵函数。例如A(A的平方根)或。举例如下: eA=1+A+ A2,A3 2+3+… 命令集27 矩阵函数 expm(A) 使用Pade近似法计算e,这是一个内部函数。 expm1(A) 使用一个M文件和与内部函数相同的算法计算e。 expm2(A) 使用泰勒级数计算e。 expm3(A) 使用特征值和特征向量计算e。 logm(A) 计算A的对数。 sqrtm(A) 计算A”。当A是对称正定阵时,平方根是唯一的。 funm(A,fcn) 计算由字符串fcn指定的A的矩阵函数,参见第5.1.4节。 字符串fcn可以是任意的基本函数,如sin、cos等等,参 见第2.4节。例如,expm(A)=funm(A,‘exp)。 [F, E]=funm(A,fc计算如上矩阵函数,但返回结果矩阵和剩余近似值矩阵E。 polyvalm(p,A) 估算矩阵A的一个多项式。向量p含有多项式的系数。详 见第10.1节。 很重要的一点是要区别expm和exp、1ogm和log等等。 ■例3.10 假设: A=(0) 比较exp和expm: Elementwise=exp(A),Operatorwise=expm (A) 得: Elementwise 2.7183 1.0000 1.0000 7.3891

看到,应该为 0值的y 1是一个十分小的数。事实上, e p s是较大的。如果用一个向量作为 一个自变量来调用 s i n c o s,因为s i n和c o s返回向量,所以其结果是一个向量。当绘制函数图 形时,这是十分有用的。 M文件的应用可参见第1 2章和第1 3章。 3.7 矩阵的乘方与函数 对于二维方阵,A的p次乘方可以用A ^p实现。如果p是一个正整数,那么这个幂可以由许 多矩阵乘法运算定义。对于 p= 0,得到与A维数相同的同一个矩阵;当 p< 0时,如果 A- 1存在, 可定义A ^p,它是与i n v ( A ) ^ ( -p)相同。 象e x p ( A )和s q r t ( A )那样的M AT L A B表达式可视为数组运算(参见第3 . 6节),即它们是对A中 元素逐个运算。 M AT L A B也能处理方阵函数。例如A1 / 2(A的平方根)或e A。举例如下: 命令集27 矩阵函数 e x p m ( A ) 使用P a d e近似法计算e A,这是一个内部函数。 e x p m 1 ( A ) 使用一个M文件和与内部函数相同的算法计算 e A。 e x p m 2 ( A ) 使用泰勒级数计算e A。 e x p m 3 ( A ) 使用特征值和特征向量计算 e A。 l o g m ( A ) 计算A的对数。 s q r t m ( A ) 计算A1 / 2。当A是对称正定阵时,平方根是唯一的。 funm(A, fcn) 计算由字符串 f c n指定的A的矩阵函数,参见第 5 . 1 . 4节。 字符串 f c n可以是任意的基本函数,如 s i n、c o s等等,参 见第2 . 4节。例如,e x p m ( A ) = f u n m ( A , ‘ e x p ’ ) 。 [F, E]=funm(A, fcn)计算如上矩阵函数,但返回结果矩阵F和剩余近似值矩阵E。 p o l y v a l m ( p , A ) 估算矩阵A的一个多项式。向量 p含有多项式的系数。详 见第1 0 . 1节。 很重要的一点是要区别e x p m和e x p、l o g m和l o g等等。 ■ 例3 . 1 0 假设: 比较e x p和e x p m: Elementwise=exp(A), Operatorwise=expm(A) 得: 4 4 M ATLAB 5 手册 下载 ■

China-pub.com 第3章矩阵运算 45 下载 Operatorwise 2.7183 0 0 7.3891 ■ 3.8关系运算符 MATLAB有用于比较矩阵的六个关系运算符,也可以对矩阵与一个标量进行比较,即矩 阵中的每个元素与标量进行比较。 关系运算符如下: 大于 >= 大于等于 == 等于 不等于 关系运算符比较对应的元素,产生一个仅包含1和0的具有相同维数的矩阵。其元素是: 1比较结果是真 0比较结果是假 在一个表达式中,算术运算符优先级最高,其次是关系运算符,最低级别是逻辑运算符。 圆括号可以改变其顺序。 ■例3.11 (a)对预定义变量pi的值和通过命令rat获得的pi的近似值进行比较。 [t,n]=rat(pi),piapprox=t/n; format long,piapprox,pi,piapprox==pi 得: 七= 355 n 113 piapprox 3.14159292035398 ans 3.14159265358979 ans 0 (b)假设: -()-(到 A中的元素有大于B中对应的元素吗?

3.8 关系运算符 M AT L A B有用于比较矩阵的六个关系运算符,也可以对矩阵与一个标量进行比较,即矩 阵中的每个元素与标量进行比较。 关系运算符如下: 大于 > = 大于等于 = = 等于 ~ = 不等于 关系运算符比较对应的元素,产生一个仅包含 1和0的具有相同维数的矩阵。其元素是: 1 比较结果是真 0 比较结果是假 在一个表达式中,算术运算符优先级最高,其次是关系运算符,最低级别是逻辑运算符。 圆括号可以改变其顺序。 ■ 例3 . 11 (a) 对预定义变量p i的值和通过命令r a t获得的p i的近似值进行比较。 [t, n]=rat(pi), piapprox=t/n; format long, piapprox, pi, piapprox==pi 得: (b) 假设: A中的元素有大于B中对应的元素吗? 第3章 矩 阵 运 算 4 5 下载 ■

46 China-bub.com MATLAB5手册 下载 Greater=A>B 得: Greater 0 0 1 0 0 0 0 1 0 即A中的项(1,3)和(3,2)的值大于B中对应项的值。 (c)令A如例(b)中假设,A中的元素有大于1的吗? GreaterThanOne=A>1 得: GreaterThanOne 0 1 1 0 0 1 0 ■ 3.9逻辑运算符 在MATLAB中有四种逻辑运算符: & 与 或 非 xor 异或 逻辑运算符的运算优先级最低。在一个表达式中,关系运算符和算术运算符的运算级别 要高于逻辑运算符。 xor和or之间的差别在于:表达式中至少有一个是真,那么or是真:xor是表达式中有一 个是真但不能两者均为真时才为真。 运算符&和比较两个相同维数的矩阵,如同前一节一样,它也能使一个标量与一个矩阵 进行比较。逻辑运算符是按元素比较的。零元素表示逻辑值假,任何其他值的元素表示逻辑 值真。其结果是一个包含1和0的矩阵。 命令集28 逻辑运算符 A&B 返回一个与A和B相同维数的矩阵。在这个矩阵中,A和B对应元素 都为非零时,则对应项为1:有一个为零的项则为0。 AIB 返回一个与A和B相同维数的矩阵。在这个矩阵中,A和B对应元素 只要有一个为非零,则对应项为1:两个矩阵均为零时,则为0。 A 返回一个与A和B相同维数的矩阵。在这个矩阵中,A是零时,则对 应项为1:A是非零时,则对应项为0。 xor (A,B) 返回一个与A和B相同维数的矩阵。在这个矩阵中,如果A和B均为 零或均为非零时,则对应项为0:如果A或B是非零但不是两者同时 为非零时,则对应项为1

G r e a t e r = A > B 得: 即A中的项( 1,3 )和( 3,2 )的值大于B中对应项的值。 (c) 令A如例( b )中假设,A中的元素有大于1的吗? G r e a t e r T h a n O n e = A > 1 得: 3.9 逻辑运算符 在M AT L A B中有四种逻辑运算符: & 与 | 或 ~ 非 x o r 异或 逻辑运算符的运算优先级最低。在一个表达式中,关系运算符和算术运算符的运算级别 要高于逻辑运算符。 x o r和o r之间的差别在于:表达式中至少有一个是真,那么 o r是真;x o r是表达式中有一 个是真但不能两者均为真时才为真。 运算符&和|比较两个相同维数的矩阵,如同前一节一样,它也能使一个标量与一个矩阵 进行比较。逻辑运算符是按元素比较的。零元素表示逻辑值假,任何其他值的元素表示逻辑 值真。其结果是一个包含1和0的矩阵。 命令集2 8 逻辑运算符 A & B 返回一个与A和B相同维数的矩阵。在这个矩阵中, A和B对应元素 都为非零时,则对应项为1;有一个为零的项则为0。 A | B 返回一个与A和B相同维数的矩阵。在这个矩阵中, A和B对应元素 只要有一个为非零,则对应项为 1;两个矩阵均为零时,则为 0。 ˜ A 返回一个与A和B相同维数的矩阵。在这个矩阵中, A是零时,则对 应项为1;A是非零时,则对应项为0。 xor(A, B) 返回一个与A和B相同维数的矩阵。在这个矩阵中,如果 A和B均为 零或均为非零时,则对应项为 0;如果A或B是非零但不是两者同时 为非零时,则对应项为1。 4 6 M ATLAB 5 手册 下载 ■

点击下载完整版文档(PDF)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共13页,试读已结束,阅读完整版请下载
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有