《矩阵的基本运算》PPT课件.ppt

上传人:sh****n 文档编号:12752860 上传时间:2020-05-22 格式:PPT 页数:33 大小:334.50KB
返回 下载 相关 举报
《矩阵的基本运算》PPT课件.ppt_第1页
第1页 / 共33页
《矩阵的基本运算》PPT课件.ppt_第2页
第2页 / 共33页
《矩阵的基本运算》PPT课件.ppt_第3页
第3页 / 共33页
点击查看更多>>
资源描述
欢迎学习MATLAB第三讲,第三讲内容介绍,目标:进一步了解MATLAB,能够熟练掌握矩阵的各种基本运算法则。,3.1MATLAB矩阵的代数运算,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不一定相等。注意:对于ABorB/A;A.BorB./A,A可以是标量;而对于ABorB/A,若A是矩阵,B是标量,则出错!对于A.BorB./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=ABorC=mpower(A,B)C=A.BorC=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=AorB=ctranspose(A);复矩阵的转置:B=A.orB=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=978211920152223,b=-1/41/4-3/43/4-1/4-1/4-1/43/4-1/4,c=0-2-6-1-4-6-1-51,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)orC=ABorC=gt(A,B)3.2.4大于等于:C=(A=B)orC=A=BorC=ge(A,B),3.2.5相等:C=(A=B)orC=A=BorC=eq(A,B)3.2.6不等:C=(A=B)orC=A=BorC=ne(A,B),3.3MATLAB矩阵的逻辑运算: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=6714a=1,9,6,20;b=1,2,3,4,6,10,20;c,ia,ib=intersect(a,b)c=1620ia=134ib=157,3.4.2两个集合的并集格式:c=union(a,b)%返回a,b的并集,即c=ab,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=123458A=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=1146123412381246IA=12IB=21,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=79,【例】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=12341246,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=1358,【例】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=1146123412381246IA=12IB=21,向量的点积格式: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的叉积,结果为:-24-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,否则为0。例题3.4.3显然,3.4.6矩阵元素的合并利用函数unique去掉集合中重复的元素:(1)B=unique(A):若A是行向量,则B也是行向量;若A是列向量或矩阵,则B是列向量。(2)B=unique(A,rows):以行为元素,返回的矩阵B中没有相同的行;(3)B,I,J=unique(A):返回值I表示B中的元素原来在A中的位置;J表示A中的元素在B中的位置,即B=A(I)、A=B(J)例题3.4.4显然,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!