资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,*,数学软件实习,向量与矩阵运算,1,向量与矩阵的生成,向量与矩阵运算,向量的生成,直接输入:,a=1,2,3,4,冒号,运,算符,a=1:4,=,a=1, 2, 3, 4,b=0:pi/3:pi,=,b=0, 1.0472, 2.0944, 3.1416,c=6:-2:0,=,c = 6, 4, 2, 0,例,:,从矩阵中抽取行或列,2,向量与矩阵的生成(续),向量与矩阵运算,矩阵的生成,直接输入:,A,=1, 2, 3; 4, 5, 6; 7, 8, 9,由向量生成,由函数生成,通过编写,m,文件生成,例,:,x=1,2,3;y=2,3,4;,A=x,y, B=x;y,例,:,C=magic(3),3,常见矩阵生成函数,zeros(m,n),生成一个,m,行,n,列的零矩阵,,m=n,时可简写为,zeros(,n,),ones(m,n),生成一个,m,行,n,列的元素全为 1 的矩阵,m,=,n,时可写为,ones(,n,),eye(m,n),生成一个主对角线全为 1 的,m,行,n,列矩阵,m=n,时可简写为,eye(,n,),,即为,n,维单位矩阵,diag(X),若,X,是矩阵,则,diag(X),为,X,的主对角线向量,若,X,是向量,,diag(X),产生以,X,为主对角线的对角矩阵,tril(A),提取一个矩阵的下三角部分,triu(A),提取一个矩阵的上三角部分,rand(m,n),产生 01 间均匀分布的随机矩阵,m,=,n,时简写为,rand(,n,),randn(m,n),产生均值为0,方差为1的标准正态分布随机矩阵,m,=,n,时简写为,randn(,n,),4,矩阵操作,提取矩阵的部分元素: 冒号运算符,A(:),A,的所有元素,A(:,:),二维矩阵,A,的所有元素,A(:,k),A,的第,k,列,,A(k,:),A,的第,k,行,A(k:m),A,的第,k,到第,m,个元素,A(:,k:m),A,的第,k,到第,m,列组成的子矩阵,A(:),与,A(:,:),的区别,?,如何获得由,A,的第一、三行和第一、二列组成的子矩阵?,自己动手,5,矩阵操作,矩阵的旋转,fliplr,(A,),左右旋转,flipud,(A,),上下旋转,rot90(A),逆时针旋转,90,度;,rot90(A,k),逆时针旋转,k,90,度,例,:,A=1 2 3;4 5 6,B=fliplr(A),C=flipud(A),D=rot90(A), E=rot90(A,-1),6,矩阵操作,矩阵的转置与共轭转置,共轭转置,.,转置,矩阵元素不取共轭,例,:,A=1 2;2i 3i,B=A,C=A.,点与单引号之间不能有空格,!,7,矩阵操作,改变矩阵的形状:,reshape,reshape(A,m,n),:,将矩阵元素按,列方向,进行重组,重组后得到的新矩阵的元素个数,必须与原矩阵元素个数相等,!,8,矩阵操作,查看矩阵的大小:,size,size(A),列出矩阵,A,的,行数和列数,size(A,1),返回矩阵,A,的,行数,size(A,2,),返回矩阵,A 的,列,数,例,:,A=1 2 3; 4 5 6,size(A),size(A,1),size(A,2),length(x,),返回,向量,X,的,长度,length(A,),等价于,max(size(A,),9,矩阵基本运算,矩阵的加减,:,对应分量进行运算,要求参与加减运算的矩阵具有 相同的维数,例,:,A=1 2 3; 4 5 6; B=3 2 1; 6 5 4,C=A+B; D=A-B;,矩阵的普通乘法,要求参与运算的矩阵满足线性代数中矩阵相乘,的,原则,例,:,A=1 2 3; 4 5 6; B=2 1; 3 4;,C=A*B,10,矩阵基本运算,矩阵的,除法,:,/,、,右除和左除,若,A,可逆方阵,则,AB,A,的逆左乘,B,inv(A)*B,B/A,A,的逆右乘,B,B*inv(A),X=AB,A*X=B,X=B/A,X*A=B,通常,矩阵除法可以理解为,当,A,和,B,行数相等,时即可进行,左除,当,A,和,B,列数相等,时即可进行,右除,11,矩阵的乘方,A,是方阵,,p,是正整数,Ap,表示,A,的,p,次幂,即,p,个,A,相乘。,若,A,是方阵,,p,不是正整数,A,p,的计算涉及到,A,的特征值分解,即若,A = V*D*V,-1,则,A,p=V*(D.p)/V,12,矩阵的乘方,若,a,是标量,,A,是方阵,且 ,V,D =,eig(A,),,则,aA,V*(aD)/V,若,A, P,均是矩阵,则,AP,无定义,若,a,是标量,,则,13,矩阵的,Kronecker 乘,积,矩阵,Kronecker,乘积,的定义,设,A,是,n,m,矩阵,,B,是,p,q,矩阵,则,A,与,B,的,kronecker,乘积为:,Kronecker,乘积,的性质,是,npmq,矩阵;,通常,任何两个矩阵都有,Kronecker,乘积,Matlab,中实现两个矩阵,Kronecker,相乘的函数为,kron(A,B),Kronecker,乘积有时也称张量积,14,矩阵的数组运算,数组运算:,对应元素进行运算,点与算术运算符之间不能有空格!,数组运算包括:,点乘,、,点除,、,点幂,相应的数组运算符为:,“.* ”,,,“./ ”,,,“. ”,和,“,. ”,参与运算的对象必须具有相同的形状!,例,:,A=1 2 3; 4 5 6; B=3 2 1; 6 5 4;,C=A.*B; D=A./B; E=A.B; F=A.B;,15,函数取值,设,x,是变量,,f,是一个函数,当,x = a,是标量时,,f,(x) = f(a),也是一个标量,当,x = a, b, , c,是向量时,,f,(x)= f(a), f(b), , f(c),函数作用在矩阵上的取值,若,A,是矩阵,则,f,(A),是一个与,A,同形状的矩阵,f,作用在,x,的,每个分量上,16,函数取值,怎样计算,e,A,?,例,:,x=0:pi/4:pi; A=1 2 3; 4 5 6;,y1=sin(x); y2=exp(A); y3=sqrt(A);,例,:,17,矩阵的超越函数,Matlab,提供了三种矩阵函数,:,expm、sqrtm、logm,详情参见联机帮助(,help expm / sqrtm / logm ),更一般的矩阵函数,:,funm,funm(,A,fun,),参数,fun,的可以是,exp,,log,cos,sin,cosh,sinh,18,数与数组的点幂,x.y,=14,25,36=1,32,729,x.2,=12,22,32=1,4,9,2 .x,=,?,.,前面留个空格,例,:,x=1 2 3; y=4 5 6;,2 .x;y,=,?,Matlab中的所有,标点符号必须在,英文状态下输入,19,Matlab,中常见数学函数,sin、cos、tan、cot、sec、csc、,asin、acos、atan、acot、asec、acsc、,exp、,log,、log2、log10、sqrt,abs、conj、real、imag、sign,fix、floor、ceil、round、mod、rem,max,、,min,、,sum,、,mean,、,sort,、fft,norm、rank、det、inv、eig、lu、qr、svd,log,是自然对数,即以,e,为底数,mod(x,y,),结果与,y,同号,,rem(x,y,),则与,x,同号,max,等函数的参数是矩阵时,是作用在矩阵各列上,20,上机作业,试分别生成,5,阶的单位阵、,8,阶均匀分布的随机矩阵及其下三角矩阵,生产列向量,x=1, 3, 5, 7, 9, , 29,生成以,x,的元素为对角线的矩阵,A,,并输出,A,的行数,生成一个与,A,同阶的正态分布的随机矩阵,B,输出,A,与,B,的,kronecker,乘积矩阵,C,生成由,A,与,B,点乘得到的矩阵,D,生成一个由,D,的第,8,、,4,、,10,、,13,行和第,7,、,1,、,6,、,9,、,2,列组成的子矩阵,E,求出矩阵,E,的最大元素,21,
展开阅读全文