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

下载本文档

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

文档简介

第三讲内容介绍 目标:进一步了解MATLAB,能够 熟练掌握矩阵的各种基本运算法 则。 3.1 MATLAB矩阵的代数运算 3.1.1 加法和减法运算 C=A+B或 C=plus(A,B) C=A-B或C=minus(A,B) 注意:加减运算要求A、B同构,即大小一样 特别地,标量可以和任意大小的矩阵进行加减 例题3.1.1显然略讲 3.1.2 乘法运算 普通矩阵乘法:C=A*B或C=mtimes(A,B) 矩阵的数值乘法:C=A.*B或C=times(A,B) 数值乘法也叫点乘,要求A、B同构。 标量可以和任意大小的矩阵相乘(此时,普乘和点乘结果一样)。 见例题3.1.2 3.1.3 矩阵的除法 1. 方阵的求逆: B=inv(A) 2. 除法运算(分左除和右除) 1)普通除法 左除:C=AB或C=mldivide(A,B) 右除: C=A/B或C=mrdivide(A,B) 一般地,左除不等于右除;显然,若A可逆,则C=AB=inv(A)*B;若B可 逆,则C=A/B=A*inv(B); 显然,(1)对于线性方程组AX=B,若A为可逆,则X=AB=inv(A)*B; (2)对于线性方程组XA=B,若A为可逆,则X=B/A=B*inv(A); 2) 数值除法 数值左除:C=A.B或ldivide(A,B) 数值右除:C=A./B或rdivide(A,B) 要求A和B同构,是对应元素相除。 显然A./B=B.A;若B可逆,则A/B和BA不一定 相等。 注意:对于AB or B/A;A.B or B./A,A可以是 标量;而对于AB or B/A,若A是矩阵,B是标 量,则出错!对于A.B or B./A,可以B是标量 ,A是矩阵。 矩阵特征值和特征向量 E=eig(A) 求特征值 V,D=eig(A) D是特征值构成的对角阵;V是 特征向量阵,列为特征向量。 对称正定阵的cholesky分解 R=chol(A) A对称正定,R为上三角阵,R*R=A 方阵的QR分解 Q,R=qr(A) Q为正交矩阵,R为上三角阵,Q*R=A 可逆阵的 LU分解 L,U=lu(A) L是下三角阵,U是上三角阵 这些对解线性方程组还是很有利的。 3.1.4 矩阵的乘方运算 分为普通乘方和数值乘方两种,分别为: C=AB or C=mpower(A,B) C=A.B or C=power(A,B) 注意:普通乘方要求A是方阵,B是标量:若B是正整数 ,显然;若B是负整数,则AB=(inv(A)abs(B); 若B不是整数,并且A的特征值矩阵为D,特征向量矩阵为 V,则AB=V*(D.B)/V,其中D为对角阵,D.B为数值的 乘方。 对于数值乘方而言:A和B大小相等,针对元素来运算。 3.1.5 矩阵的转置和共轭转置 复矩阵的共轭转置:B=A or B=ctranspose(A); 复矩阵的转置:B=A. or B=transpose(A) 注意:共轭转置是指先每个元素求共轭,再把矩 阵转置;转置运算是点运算。 3.1.6 矩阵的函数运算 1. 常用函数见P59函数表,是对每个元素求函数值 记住一些常用函数格式! 例. 已知 求:AB,B-1,B-AT,|A| 解:A=1,2,3;4,5,6;7,8,0;B=1,2,1;1,1,2;2,1,1; a=A*B,b=inv(B),c=B-A,d=det(A) a = 9 7 8 21 19 20 15 22 23 b = -1/4 1/4 -3/4 3/4 -1/4 -1/4 -1/4 3/4 -1/4 c = 0 -2 -6 -1 -4 -6 -1 -5 1 det(A)=27 数据分析函数 mean(A) A中各列向量的均值 var(A) A中各列向量的方差 std(A) A中各列向量的标准差 cov(A) A中各列向量的协方差矩阵 corrcoef(A) A中各列向量的相关矩阵 其它的函数如prod(求积)、max、sum、min等 均按列进行运算。 3.2 矩阵的关系运算 所有关系表达式,matlab把“真”值输出为“1”;把“假 ”值输出为“0”。 关系运算符有:、=、=、= 注意:在关系运算中A、B结构相同,当然可以其中 一个为标量。 3.2.1 小于:C=(AB) or C=AB or C=gt(A,B) 3.2.4 大于等于 :C=(A=B) or C=A=B or C=ge(A,B) 3.2.5 相等: C=(A=B) or C=A=B or C=eq(A,B) 3.2.6 不等:C=(A=B) or C=A=B or C=ne(A,B) 3.3 MATLAB矩阵的逻辑运算: 3.3.1 运算符有四种:1,2,4,6;6,7,1,4; B=1,2,3,8;1,1,4,6;6,7,1,4; C=intersect(A,B,rows) C = 6 7 1 4 a=1,9,6,20;b=1,2,3,4,6,10,20; c,ia,ib=intersect(a,b) c = 1 6 20 ia = 1 3 4 ib = 1 5 7 3.4.2 两个集合的并集 格式:c=union(a,b) %返回a,b的并集,即c=a b C=union(A,B,rows) %返回矩阵A,B不同行向量构成的大矩阵, 其中相同行向量只取其一。 c,ia,ib=union() % ia,ib分别表示c中行向量在原矩阵(向量)中的位置。 A=1,2,3,4; B=2,4,5,8; C=union(A,B) 则结果为: C= 1 2 3 4 5 8 A=1,2,3,4;1,2,4,6; B=1,2,3,8;1,1,4,6; C,IA,IB=union(A,B,rows) C = 1 1 4 6 1 2 3 4 1 2 3 8 1 2 4 6 IA = 1 2 IB = 2 1 3.4.3两个集合的差集 格式:c=setdiff(a,b) %返回属于a但不属于b的不同元素 的集合,即c=a-b. C=setdiff(A,B,rows) %返回属于A但不属于B的不同行。 C,I=setdiff(.) %C与前面一致,I表示C中元素在A 中的位置。 【例】 A=1,7,9,6,20;B=1,2,3,4,6,10,20; C=setdiff(A,B) C = 7 9 【例】 A=1,2,3,4;1,2,4,6;6,7,1,4; B=1,2,3,8;1,1,4,6;6,7,1,4; C=setdiff(A,B,rows) C= 1 2 3 4 1 2 4 6 3.4.4 异或集 格式:c=setxor(a,b) %返回集合a,b交集的非。 C=setxor(A,B,rows) %返回矩阵A,B交集的非, A,B有相同列数。 x,ia,ib=setxor(.) %ia,ib表示其中元素分别在a( 或A),b(或B)中的位置。 【例】 A=1,2,3,4; B=2,4,5,8; C=setxor(A,B) C = 1 3 5 8 【例】 A=1,2,3,4;1,2,4,6;6,7,1,4; B=1,2,3,8;1,1,4,6;6,7,1,4; C,IA,IB=setxor(A,B,rows) C = 1 1 4 6 1 2 3 4 1 2 3 8 1 2 4 6 IA = 1 2 IB= 2 1 向量的点积 格式:C=dot(A,B) %A,B为向量且长 度相等,则返回向量A与B的点积。若为 矩阵,则它们必须有相同的维数。 C=dot(A,B,dim) %在dim维数中给出A与 B的点积。 【例】 A=1,2,3; B=3,4,5; dot(A,B); %计算向量A,B的 点积,结果为26 还可用另一种算法:sum(A.*B). 向量的叉积 两向量叉积是一个过相交向量的交点且垂直两向量的平 面的向量,在MATLAB中, 用函数cross实现。 格式:C=cross(A,B) %A,B为向量,则返回A与B的 叉积,即C=AB、A、B为3个元素的向量;若为矩阵, 则返回一个3n矩阵,其中列是A与B对应列的叉积,A, B都是3n矩阵。 C=cross(A,B,dim) %在dim维数中给出向量A,B的叉积 ,必须有相同的维数,size(A,dim),size(B,dim)必须是3【 例】A=1,2,3; B=3,4,5; cross(A,B); %计算向量A, B的叉积,结果为:-2 4 -2 向量的混合积 混合积由以上两个函数来实现. 【例】 计算向量a=(1,2,3),b=(4,5,6)和c=(-3,6,-3)的混 合积a(bc). 解: a=1,2,3;b=4,5,6;c=-3,6,-3; x=dot(a,cross(b,c) 结果显示: x = 54 注意:先叉积后点积,顺序不可颠倒. 向量的长度 命令 sqrt(dot(A,A) % 或sqrt(sum(A.*A) 可求出向量的长度. 向量的方向角 由定义,向量的方向余弦为,,所以: L=sqrt(dot(A,A); %计算向量A的长 度 alpha=acos(A(1)/L); %计算向量A与x轴 的夹角 beta=acos(A(2)/L); %计算向量A与y轴 的夹角 gamma=acos(A(3)/L); %计算向量A与z 轴的夹角 向量的夹角 向量A,B间的夹角,由可得,所以: L1=sqrt(dot(A,A); %计算向量A的长 度 L2=sqrt(dot(B,B); %计算向量B的长 度 c=dot(A,B); %计算向量A,B的点积 alpha=acos(c /L1/L2) %计算向量A ,B间夹角 点与点之间的距离 由两点间距离公式,所以: s= A-B; L=sqrt(dot(s,s) %计算两点A,B间的距离 3.4.5 集合元素的检测 检测一个集合中的元素是否在另一个集合中 (1)C=ismember(A,S):集合A是向量或矩阵,C与A 大小相同,且只包含0、1,若A的元素在S中,则在A的 对应位置处,C的取值为1,否则为0。 (2) C=ismember(A,S,rows):矩阵A和S的列数相 同,C是与A行数相同的列向量,若A的行在S中,则C 的对应的行处的值为1,否则

温馨提示

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

评论

0/150

提交评论