ch3Matlab矩阵的运算.ppt_第1页
ch3Matlab矩阵的运算.ppt_第2页
ch3Matlab矩阵的运算.ppt_第3页
ch3Matlab矩阵的运算.ppt_第4页
ch3Matlab矩阵的运算.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Matlab矩阵的运算 安徽工业大学数理学院 侯为根 1. 数学运算 2. 逻辑运算 三、 Matlab基本运算 3. 比较运算 4. 位运算符 5. 集合运算符 一、数学运算 MATLAB的基本算术运算有: (加)、(减)、*(乘)、/(右除)、(左除)、(乘 方)、共轭转置()正号(+),负号(-) 【注意】运算是在矩阵意义下进行的,单个数据 的算术运算只是一种特例。 2. 点运算 点运算符有.*、./、.和.。两矩阵进行点运算是 指它们的对应元素进行相关运算,要求两矩阵的 维参数相同。 1. 基本算术运算 1.转置(.),幂次(.).共轭转置(),矩阵幂次( ) 2.正号(+),负号(-) 3.乘法(.*),元素右除(./),元素左除(.),矩阵乘 法(*),矩阵右除(/),矩阵左除() 4.加法(+),减法(-) 5.冒号(:)(例如: x = 1:2:5 等) 数学运算符之优先级: 同一类的运算符均具有相同的优先度(Priority),因此 在计算上,是由左至右依次完成 矩阵的数学运算 矩阵的加减与一般标量(Scalar)的加减类似 相加或相减的矩阵必需具有相同的维度 A = 12 34 56 20; B = 1 3 2 4; C = A + B C1= A-B 例1: 加减法运算 矩阵与纯量可以直接进行加减,MATLAB 会直接将 加减应用到每一个元素 A=1 2 3 2 1 + 5 矩阵的加减法运算 矩阵的乘法与除法 标量对矩阵的乘或除,可比照一般写法 A = 1 2 3; 4 4 2; C = A/3 B = 2*A 欲进行矩阵相乘,必需确认第一个矩阵的列数( Column Dimension) 必需等于第二个矩阵的行 数(Row Dimension) 例2:矩阵的乘法 A = 1; 2; B = 3, 4, 5; C = A*B 矩阵除法 若A为非奇异方阵,则X=A-1B 若A为非奇异方阵,则X=BA-1 矩阵左除:AX = B,求 X MATLAB 求解:X=AB 最小二乘解 矩阵右除:XA = B,求 X MATLAB求解:X=B/A最小二乘解 注:若A为非奇异方阵,则A-1在Matlab中为 inv(A) 矩阵的次方运算 矩阵的次方运算,可由“”来达成,但矩阵必需是方 阵,其次方运算才有意义 A = magic(3); B = A2 例3: 复数矩阵z,其“共轭转置”矩阵(Conjugate Transpose)可表示成矩阵z 转置和共轭转置矩阵 i = sqrt(-1);% 单位虚数 z = 1+i, 2; 3, 1+2i; w = z % 共轭转置(注意z后面的单引号) 例4: 矩阵共轭转置 i = sqrt(-1);% 单位虚数 z = 1+i, 2; 3, 1+2i; w = z.% 单纯转置(注意z后面的句点及单引号 ) 想得到任何矩阵z的转置(Transpose),则可表 示成矩阵矩阵z. 例5:矩阵的转置 若z为实数,则z和z.的结果是一样的 4 4、 MATLABMATLAB矩阵运算函数矩阵运算函数 size(A) %矩阵的大小 inv(A) %矩阵的逆 det(A) %矩阵的行列式 rank(A) %矩阵的秩 rref(A) %矩阵列的极大无关组 orth(A) %矩阵化为正交阵 trace(A) %矩阵的迹 chol(A) %三角分解,A=L*LT lu(A) %A对称,A=L*U U,S,V=svd(A) %A=U*S*V qr(A) %A=q*r(q正交阵,r三角阵) norm(A,1|2|p|inf|fro) %矩阵的模 cond(A) %矩阵的条件数 4 4、 MATLABMATLAB矩阵运算函数矩阵运算函数 eig(A) %A*x=*x V,D=eig(A) %A*V=V*D eig(A,B) %A*x=*B*x V,D=eig(A,B) %A*V=B*V*D 例:设A=pascal(4),B=magic(4),并使用下列函 数进行计算 向量的p-norm 一个向量a的p-norm可以定义为 p=2 时,此即为向量 a 的长度,或称欧氏长度 (Euclidean Length) 欲求一向量的p-norm,可使用norm指令norm(x,p) a = 3 4; x = norm(a, 1) % x = 7 y = norm(a, 2) % y = 5 z = norm(a, inf) 注意: 矩阵A的p-norm可以定义如下: 例9: normMatrix norm 指令亦可用于计算矩阵的 p-norm A = 1 2 3; 4 5 6; 7 8 9; norm(A, 2) Cholesky分解是将一个对称的正定矩阵分解为一个 上三角矩阵和其转置的乘积。 X=pascal(5) R=chol(X) C=R*R LU分解是将原正方 (square) 矩阵分解成一个上三角 形矩阵 或是排列(permuted) 的上三角形矩阵 和一 个 下三角形矩阵,这样的分解法又称为三角分解。 命令格式为: L,U=lu(A) L,U,P=lu(A) 例如: B=1 3 2; -2 -6 1; 2 5 7 L,U=lu(B) L*U L,U,P=lu(B) P*L*U QR分解法是将矩阵分解成一个正规正交矩阵与上 三角形矩阵,矩阵A不必为正方矩阵。 A=1 3 2 5; -2 -6 1 6; 2 5 7 2 Q,R=qr(A) Q*Q Q*R 奇异值分解 (sigular value decomposition,SVD) 是另一种 正交矩阵分解法;SVD是最可靠的分解法,但是它比 QR 分解法要花上近十倍的计算时间。 U,S,V=svd(A),其中U和V代表二个相互正交矩阵, 而S代表一对角矩阵。 和QR分解法相同者, 原矩阵A 不必为正方矩阵。 A=1,2;3,1 S,V,D=svd(A) 函数含义 min(x)向量x的极小值 max(x) 向量x的极大值 mean(x)向量x的平均值 median(x) 向量x的中位数 sum(x) 向量x的总和 sort(x) 向量x的排序 Matlab关于向量运算的函数 x=randi(0,20, 1,7) y1=sum(x) y2=sort(x) 2、点运算 矩阵对应元素的直接运算 例如 A =1 2 3;4 5 6;7 8 0 B = A.A a=1:5 d1=1./a %求a中元素的倒数 d2=a.2 %求a中元素的平方 d3=2.a %求2的a中元素的幂幂 例:设 x=1:100; s1=sum(-1).(x+1).*(1./x) x=1:100; s1= (-1).(x+1) *(1./x) 方法1 方法2 3MATLAB数组运算函数 1. 规则:设X=(xij)mn,则 f (X)=(f (xij)mn sin cos tan cot sec csc asin acos atan acot asec acsc 2. 常用数学函数 三角与反 三角函数 exp log log10 sqrt pow2 ceil fix floor round rem sign abs angle conj imag real 指数与对数 复变函数 取整函数 cart2sph cart2pol pol2cart sph2pol 坐标转换 注:若要对函数进行矩阵运算,方法为: funm(X,f) 例:求sin(x)在x=0,/4, /2, 3/4, 时的值 x=0:pi/4:pi y=x.*sin(x.2) 例:求y=xsin(x2) 在x=0,/4, /2, 3/4, 时的值 x=0:pi/4:pi y=sin(x) 矩阵的比较运算 , =, 5 ab a=b 关系运算符的用法: 关系运算符的用法 A=1 2 3; 4 5 6;7 8,0 b=A5 A(b) 3、同维矩阵间比较;返回0-1矩阵 2、矩阵与一数比较返回0-1矩阵 例2:给出矩阵A中大与5的元素值 例3: 接上例,设B=magic(3) B=magic(3); BA find指令 : 可传回非零元素索引,显示一维索引或下标 元素索引 index=find(A5) 可以将关系运算符返回的0-1矩阵,来进行矩阵的 索(Indexing)求出在A矩阵中,满足AijBij的 元素 x = 0 1 2; 0 0 3 index = find(x) x(index) x(index)则是非零元素所形成的向量 要找出满足某条件的二维索引或下标 2维索引 idx1,idx2=find(x5) idx1和idx2分别是符合条件之矩阵元素的列索 引(Row Index)及行索引(Column Index) 例:如何找出介于7和11的元素? x = magic(5) x(find(72*pi).*y; %消去负半波 q=(xpi/3 %消去负半波 p=sin(pi/3); y2=(y=p)*p+(yp).*y1; %按要求处理第(2)步 MATLAB 的位运算符(Bitwise Operators) 可对非负整数进行位对位的逻辑运算 位运算符 位运算符 说明 bitand 位对位的 AND bitcmp每个位的 NOT bitor位对位的 OR bitmax最大浮点整数值 bitxor位对位的 XOR bitset设定某位 bitget取得某位 bitshift 位平移 数字10的二进制表示法是1010,数字4的二进制表 示法是0100,因此数字10和数字4的 bitor 应传 回1110 的十进制数值,即数字14 数字18的二进制表示法向左平移一个单位,其效果 相当乘2 bitor(10,4) bitshift(18, 1) MATLAB 的集合运算符(Set Operators) 可将向量视为集合,来进行各种集合运算 集合运算符 集合运算符 说明 union并集 intersect交集 setdiff差集 setxor集合

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论