《第2章矩阵运算基础精.ppt》由会员分享,可在线阅读,更多相关《第2章矩阵运算基础精.ppt(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章矩阵运算基础第1页,本讲稿共55页行内的元素间用行内的元素间用逗号逗号(,)或或空格空格分隔分隔;矩阵大小可以不必预先定义矩阵大小可以不必预先定义矩矩阵阵元元素素可可以以是是数数值值、表表达达式式或或函函数数,表表达达式式或或函函数数的的值值是是能能计计算算出出来来的的,不不能能是是未未知知变变量量;矩矩阵阵元元素素可可以以是是复复数数(complex):用用书书写写方方法法直直接接输输入入(虚虚数数单单位位用用i或或j表表示示);或或用用一一个个矩矩阵阵表表示示复复数数的的实实部部,另另一一个个矩矩阵阵表表示示矩矩阵阵的的虚部,最后将两个矩阵相加;虚部,最后将两个矩阵相加;矩阵矩阵“”
2、内无任何元素时,称之为空阵;内无任何元素时,称之为空阵;加例加例:2-1第2页,本讲稿共55页加例加例2-1A=2345;3456;4567;78910等同于:等同于:A=23453456456778910 x=2;y=pi/3A=2,3,cos(y);x,2*x,3*x;x,x/2,x/4%表达式表达式A1=2+3i,3+4i,4;1+2i,2+3i,5;7,9,2+3i%复数复数等同于:等同于:B=2,3,4;1,2,5;7,9,2C=3,4,0;2,3,0;0,0,3A2=B+C*i第3页,本讲稿共55页2、编编辑辑器器(MatrixEditor)创创建建:当当要要建立较大的矩阵时使用建
3、立较大的矩阵时使用预先定义变量预先定义变量打开工作空间浏览器打开工作空间浏览器打开矩阵编辑器打开矩阵编辑器改变元素值改变元素值改变矩阵维数改变矩阵维数可以实现与Excel功能互补第4页,本讲稿共55页3、矩阵函数、矩阵函数zeros全零矩阵全零矩阵ones全幺矩阵全幺矩阵eye生成单位阵生成单位阵加例2-2A=zero(3,4)%2个参数个参数B=ones(size(A)%形成与形成与A结构相同的全结构相同的全1矩阵矩阵C=eye(6)%1个参数个参数D=eye(3,5)第5页,本讲稿共55页4、从外部数据文件调入矩阵、从外部数据文件调入矩阵命令命令调入文本文件调入文本文件格式:格式:load
4、filename.dat/txt菜菜 单单:FileImportdata选选 择择 文文 件件Finish矩阵进入工作环境矩阵进入工作环境说说明明:1 1、文文本本文文件件中中数数据据要要排排成成一一个个矩矩形形表表,数数据据之之间间用用空空格格分分开开,一一行行数数据据即即为为矩矩阵阵的的一一行行,且且各各行行数数据据元元素素个数必须相等个数必须相等2 2、文文本本文文件件中中数数据据之之间间用用制制表表符符分分开开,形形如如EXCELEXCEL的数据格式(的数据格式(TabTab)例:例:读入默认格式:读入默认格式:laodtest.mat导入文本文件导入文本文件import:loadte
5、st.txt第6页,本讲稿共55页5、矩阵元素的标识矩阵元素的标识q矢量的生成矢量的生成利用冒号利用冒号(:)加例加例:2-3a)x=i:j步步长长为为1,当当ij时时,生成生成x空矢量空矢量;b)x=i:j:k如如:j0,则则ik,生生成成均均匀匀等等分分矢矢量量,步步长长为为j;如如:jk,生生成成均均匀匀等等分分矢矢量量,步步长长为为-|j|;第7页,本讲稿共55页加例2-3a=1:6b=2:2:10c=0:-1:2%步长为步长为-1d=8:1:4矩矩阵阵元元素素的的标标识识:元元素素和和子子矩矩阵阵可可以以用用标标量量、矢量和冒号的标识来引用和赋值矢量和冒号的标识来引用和赋值子矩阵的序
6、号矢量标识方式子矩阵的序号矢量标识方式A(u,v)u,v是是可可以以任任意意排排列列的的矢矢量量(不不是是特特别别要要求求,最最好好使使用用单单调调序序号号),分分别别表表示示子子矩矩阵阵元元素素在在母矩阵中的行号和列号。母矩阵中的行号和列号。第8页,本讲稿共55页“纯纯”冒冒号号,形形如如A(L1,:):表表示示子子矩矩阵阵是是母母矩矩阵阵L1行行的的所所有有元元素素,A(:,L2):表表示示子子矩矩阵阵是是母母矩矩阵阵L2列列的的所所有有元元素素,A(:,:):矩矩阵阵的的所所有有元元素素。加例:加例:2-4A=magic(4)A1=A(1:2,1,2,4)%提取第提取第1,2行;第行;第
7、1,2,4列的元素列的元素A2=A(4,1,:,:)%提取第提取第4,1行的元素,注意先后行的元素,注意先后A(1,3,2,4)=0%第第1,3行;第行;第2,4列的元素置零列的元素置零第9页,本讲稿共55页单单下下标标标标识识,元元素素排排序序:第第1列列第第1行行元元素素,第第1列列第第2行行元元素素第第1列列最最后后1行行元元素素,第第2列列第第1行行元元素素,第第2列列第第2行行元元素素第第2列列最最后后1行行元元素素如如此此类类推推,对对于于矩矩阵阵(m,n)的的第第i行行第第j列列元元素素的单下标的单下标k=m(j-1)+i 加例:加例:2-5第10页,本讲稿共55页二二、矩阵和数
8、组的算术运算矩阵和数组的算术运算1、矩阵和数组的加减运算、矩阵和数组的加减运算二二者者没没有有区区别别,都都是是元元素素间间的的加加减减,只只是是参参加加加减运算的两个矩阵结构要相同。加减运算的两个矩阵结构要相同。【例例2-42-4】两个矩阵分别为两个矩阵分别为1 2 3;4 5 6;7 8 91 2 3;4 5 6;7 8 9和和1 1 1;2 2 2;3 3 1 1 1;2 2 2;3 3 33,求两者相加的和。求两者相加的和。a=123;456;789;b=111;222;333;c=a+b【例例2-52-5】两两个个矩矩阵阵分分别别为为1 1 2 2 3;4 3;4 5 5 6;7 6
9、;7 8 8 99和和1 1 1 1 11,阶阶数数不同,求两者相减的差。不同,求两者相减的差。a=123;456;789;b=111;c=a-b;%错误提示:错误提示:Matrixdimensionsmustagree.第11页,本讲稿共55页2、矩阵的乘法、矩阵的乘法*矩阵乘法运算要符合线性代数矩阵运算的要求:矩阵乘法运算要符合线性代数矩阵运算的要求:左边矩阵的列数与右边矩阵的行数相同。左边矩阵的列数与右边矩阵的行数相同。【例例2-62-6】两个矩阵相乘,矩阵两个矩阵相乘,矩阵a a为为 ,矩阵,矩阵b b为,分别计算为,分别计算c=a*bc=a*b和和d=b*ad=b*a。a=123;4
10、56;789;b=123;c1=a*bc2=b*a%将出现错误将出现错误第12页,本讲稿共55页computer计算机类型计算机类型eps计算相对精度计算相对精度i,j复数中的虚数单位复数中的虚数单位pi圆周率圆周率realmax计算机能够显示的最大浮点数计算机能够显示的最大浮点数realmin计算机能够显示的最小浮点数计算机能够显示的最小浮点数version字符串格式的字符串格式的MATLAB版本版本第13页,本讲稿共55页usigular奇异阵奇异阵uBadlyscaled病态阵病态阵uinfMatlab用用来来表表示示无无穷穷大大的的专专用用变变量量,可以避免零溢出(可以避免零溢出(ze
11、rooverflow)uInnermatrixdimensionsmustagree矩阵相乘出错:维数不对矩阵相乘出错:维数不对错误提示信息说明错误提示信息说明第14页,本讲稿共55页3、数组的乘(数组的乘(.*)、除法()、除法(./右除、右除、.左除)左除)数数组组乘乘、除除法法仍仍是是元元素素间间的的运运算算,有有时时称称之之为为“点点运运算算”。作作除除数数的的矩矩阵阵其其元元素素应应是是非非零零,作除数的标量也应是非零的。作除数的标量也应是非零的。同结构数组间的乘除运算同结构数组间的乘除运算A.*B:A的元素乘以的元素乘以B的对应元素的对应元素A./B:A的元素除以的元素除以B的对应
12、元素的对应元素A.B:B的元素除以的元素除以A的对应元素的对应元素数组数组B与标量与标量c间的乘除运算间的乘除运算c.*B=B.*:B的每一个元素乘以的每一个元素乘以cc./B=B.c:c除以除以B的每一个元素的每一个元素c.B=B./c:B的每一个元素除以的每一个元素除以c第15页,本讲稿共55页【例例2-72-7】两个数组相乘,数组两个数组相乘,数组a a为为 ,数组,数组b b为为 ,求两数组的乘法。,求两数组的乘法。a=123;b=456;d=5c1=a.*bC2=d.*a【例例2-92-9】数组数组a a为为 ,数组,数组b b为为 ,求两数组的,求两数组的除法。除法。a=123;b
13、=456;d=5c=a.bc=b./ac3=d./ac4=d.a第16页,本讲稿共55页4、矩阵的除法、矩阵的除法/、矩阵除法运算要符合线性代数矩阵运算的要求:矩阵除法运算要符合线性代数矩阵运算的要求:右除右除a/b:a矩阵矩阵列数列数等于等于b矩阵矩阵列数列数左除左除ab:a矩矩行数行数等于等于b矩阵矩阵行数行数作除数的矩阵应是作除数的矩阵应是非奇异非奇异的的【例例2-82-8】两个矩阵相除两个矩阵相除,矩阵矩阵a a和和b b均为均为3333阶矩阵。阶矩阵。a=rand(3)b=rand(3)c=a/bd=ba第17页,本讲稿共55页5、矩阵的幂、矩阵的幂apa是矩阵,是矩阵,p为标量为标
14、量a是方阵是方阵p是大于是大于1的整数时,则的整数时,则a自乘自乘p次次当当p为负整数时,表示方阵直接自乘为负整数时,表示方阵直接自乘p次后的逆次后的逆当当p为为0时,将给出和方阵时,将给出和方阵A同维的单位阵。同维的单位阵。p为小数时,为小数时,ap=v*d.p*/v,v,d=eig(a)a是标量,是标量,p为方阵为方阵ap=v*ad/v,v,d=eig(p)a是标量,是标量,p不不为方阵,则为方阵,则ap是错误的是错误的第18页,本讲稿共55页【例【例2-102-10】矩阵】矩阵a a为为1 2;3 41 2;3 4,求它的,求它的1.51.5次幂。次幂。a=1 2;3 4;a=1 2;3
15、 4;c=a1.56、数组的幂、数组的幂a.pa是矩阵,是矩阵,p为矩阵为矩阵,且且a与与p的结构相同的结构相同a与与p对应位置元素进行幂运算:对应位置元素进行幂运算:a(i).p(i)a是矩阵,是矩阵,p为标量为标量a每一个元素与每一个元素与p进行幂运算:进行幂运算:a(i).pa是标量,是标量,p为矩阵为矩阵a与与p的每一个元素进行幂运算:的每一个元素进行幂运算:a.p(i)第19页,本讲稿共55页【例例2-112-11】数组数组a a为为1 2 31 2 3,数组,数组b b为为4 5 64 5 6,求数,求数组的幂组的幂c=a.bc=a.b。a=1 2 3;a=1 2 3;b=4 5
16、6;b=4 5 6;c=a.bc=a.b【例例2-122-12】数组数组a a为为1 2 31 2 3,求数组的幂,求数组的幂c=a.2c=a.2。a=1 2 3;a=1 2 3;c=a.2c=a.2【例例2-132-13】数组数组a a为为1 2 31 2 3,求数组的幂运算,求数组的幂运算c=2.ac=2.a。a=1 2 3;a=1 2 3;c=2.ac=2.a第20页,本讲稿共55页7、矩阵的转置、矩阵的转置a或或a.la:矩阵矩阵a的共轭转置的共轭转置a.:矩阵矩阵a的转置的转置若若a是实数矩阵,则是实数矩阵,则a=a.【例例2-142-14】矩阵矩阵a a为为1 2 3;4 5 6;
17、7 8 91 2 3;4 5 6;7 8 9,计算,计算a a的转置。的转置。a=1 2 3;4 5 6;7 8 9;a=1 2 3;4 5 6;7 8 9;c=ac=a【例例2-152-15】矩阵矩阵a a为为1+2i 3+4i,1+2i 3+4i,计算计算a a的转置。的转置。a=1+2i 3+4i;a=1+2i 3+4i;c=ac=ac=a.c=a.第21页,本讲稿共55页三、关系运算和逻辑运算三、关系运算和逻辑运算MATLAB对此类运算符有如下规定:对此类运算符有如下规定:l所所有有的的关关系系表表达达式式或或逻逻辑辑表表达达式式中中,任任何何非非0 0数数都都是是“逻辑真逻辑真”,只
18、有,只有0 0才是才是“逻辑假逻辑假”l关关系系表表达达式式或或逻逻辑辑表表达达式式的的计计算算结结果果是是一一个个由由0 0和和1 1组组成成的的“逻逻辑辑数数组组(Logical(Logical Array)Array)”,数数组组中中1 1表表示真,示真,0 0表示假表示假l逻逻辑辑数数组组是是一一种种特特殊殊的的数数值值数数组组,对对“数数值值数数组组”操操作作有有关关命命令令和和函函数数也也适适用用它它;同同时时又又具具有有自自身身的的特殊用途特殊用途l优先级别:优先级别:算术运算算术运算关系运算关系运算逻辑运算逻辑运算 第22页,本讲稿共55页1、关系运算、关系运算两个标量两个标量
19、a、b比较:成立为比较:成立为1,反之为,反之为0一一个个标标量量a和和一一个个数数组组B比比较较:a与与B中中的的每每一一个个元元素素进进行行比比较较,运运算算结结果果是是与与B同同维维的的逻逻辑辑数数组组C,C由由0和和1组成组成两两个个同同维维的的数数组组A、B比比较较:A与与B同同位位置置的的元元素素进进行行比比较较,运运算算结结果果是是与与A、B同同维维的的逻逻辑辑数数组组C,C由由0和和1组成组成小于小于大于等于大于等于小于等于小于等于等于等于大于大于不等于不等于第23页,本讲稿共55页【例例2-162-16】矩阵矩阵a a和和b b均为均为1313阶矩阵,使用阶矩阵,使用关系运算
20、符对对应元素进行比较。关系运算符对对应元素进行比较。a=0-12;b=-312;ababa=ba=ba=b第24页,本讲稿共55页2、逻辑运算、逻辑运算&:&:逻辑与,对应元素均为非逻辑与,对应元素均为非0 0时,结果为时,结果为1 1,否则为,否则为0 0|:|:逻逻辑辑或或,对对应应元元素素有有一一个个为为非非0 0时时,结结果果为为1 1,否否则则为为0 0:“逻逻辑辑非非”运运算算是是一一元元运运算算符符:非非0 0元元素素的的逻逻辑辑非非为为“真真”,用,用1 1表示;表示;0 0元素的逻辑量为假,用元素的逻辑量为假,用0 0表示表示一一个个标标量量a a和和一一个个数数组组B B进
21、进行行逻逻辑辑运运算算:a a与与B B中中的的每每一一个个元元素素进进行行运运算算,运运算算结结果果是是与与B B同同维维的的逻逻辑辑数数组组C C,C C由由0 0和和1 1组成组成两两个个同同结结构构的的数数组组A A、B B逻逻辑辑运运算算:A A与与B B同同位位置置的的元元素素进进行行逻逻辑辑运运算算,运运算算结结果果是是与与A A、B B同同维维的的逻逻辑辑数数组组C C,C C由由0 0和和1 1组成组成优先级别:逻辑非优先级别:逻辑非逻辑与逻辑与和和逻辑或逻辑或同级同级第25页,本讲稿共55页【例例2-17】矩阵矩阵a和和b均为均为23阶矩阵,使用逻阶矩阵,使用逻辑运算符计算
22、对应元素。辑运算符计算对应元素。a=103;0-16;b=-100;050.3;a&ba|bab第26页,本讲稿共55页3、关系函数与逻辑函数、关系函数与逻辑函数lany any 判断判断“向量向量中元素是否有中元素是否有非非0 0”的函数的函数 any(A)any(A)若若A A为为向向量量,则则A A中中至至少少有有一一个个元元素素为为非非0 0数数,函函数数值值为为1 1;所所有元素为有元素为0 0,则返回,则返回0 0。若若A A为为矩矩阵阵,则则按按列列向向量量判判断断,若若某某列列有有一一个个元元素素为为非非0 0,则该列比较结果为则该列比较结果为1 1,否则为,否则为0 0。la
23、ll all 判断判断“向量向量中中所有元素所有元素是否是否都都是是非非0 0”的函数的函数all(A)all(A)若若A A为为向向量量,则则A A中中所所有有元元素素为为非非0 0数数,函函数数值值为为1 1;有有一一个个元元素为素为0 0,则返回,则返回0 0。若若A A为为矩矩阵阵,则则按按列列向向量量判判断断,若若某某列列有有一一个个元元素素为为0 0,则则该该列列比较结果为比较结果为0 0,否则为,否则为1 1。第27页,本讲稿共55页lfind找出向量或矩阵中非找出向量或矩阵中非0元素的位置和标识元素的位置和标识I=find(X)I=find(X)返返回回X X中中所所有有非非0
24、 0元元素素的的位位置置标标识识组组成成的的向向量量,无无非非0 0元元素素则则会会返返回回空空值值。返返回回的的值值为为非非0 0元元素依次素依次纵向纵向计数位置计数位置(单下标单下标)。I,J=find(X)I,J=find(X)返返回回X X的的非非0 0元元素素行行和和列列的的标识,其中标识,其中I I是行标识,是行标识,J J是列标识是列标识I,J,V=find(X)I,J,V=find(X)返返回回X X的的非非0 0元元素素行行和和列列的的标标识识,其其中中I I是是行行标标识识,J J是是列列标标识识,同同时时将将非非0 0元素的值放入列向量元素的值放入列向量V V中。中。加例
25、加例:2-6第28页,本讲稿共55页例例:2-6A=048;902;537find(A)%返回返回A中非中非0元素的单下标号元素的单下标号i,j=find(A)i,j,v=find(A)i,jfind(A8%L是是“logicalarray”X=A(L)%将将A中被矩阵中被矩阵L标识的所有元素赋给矢量标识的所有元素赋给矢量XDl=191119111151411514Y=A(Dl)%数值矩阵定位数值矩阵定位第33页,本讲稿共55页四、矩阵函数四、矩阵函数函数名称函数名称功功能能cond(a)矩阵矩阵a的条件数的条件数det(a)方方阵阵a的行列式值的行列式值inv(a)矩阵矩阵a的逆的逆pinv
26、(a)矩阵矩阵a的伪逆的伪逆rank(a)矩阵矩阵a的的秩的的秩expm(a)矩阵矩阵a的指数的指数eam表示表示matrixlogm(a)矩阵矩阵a的对数的对数log(a)norm(a)矩阵矩阵a的范数的范数第34页,本讲稿共55页【例例2-19】矩阵矩阵a为为123;456;789,计算,计算a的逆矩阵和伪逆矩阵。的逆矩阵和伪逆矩阵。a=123;456;789;c1=inv(a)%逆逆c2=pinv(a)%伪逆伪逆d=det(a)%行列式的值行列式的值r=rank(a)%秩秩n=norm(a)%范数范数e=expm(a)%指数指数l=logm(a)%对数对数cd=cond(a)%条件数条件
27、数第35页,本讲稿共55页l通用函数通用函数(对矩阵元素的函数对矩阵元素的函数)三角函数(数据对象是三角函数(数据对象是弧度弧度)sinsin正弦正弦 asinasin反正弦反正弦 coscos余弦余弦acosacos反余胘反余胘tantan正切正切atanatan反正切反正切secsec正割正割asecasec反正割反正割 如果如果x x0 0是角度,则转为弧度:是角度,则转为弧度:x*pi/180 x*pi/180加例加例27:x=60fd=x*pi/180s=sin(fd)as=asin(s)c=cos(fd)ac=acos(c)t=tan(fd)at=atan(t)第36页,本讲稿共5
28、5页指数函数指数函数exp:exp:以以e e为底的指数为底的指数 pow2:2 pow2:2的幂次的幂次log:log:自然对数自然对数 log10:log10:以以1010为底的对数为底的对数log2:log2:以以2 2为底的对数为底的对数 sqrt:sqrt:开平方开平方加例加例28:t=3et=exp(t)pt=pow2(t)lt=log(et)l10=log10(1000)l2=log2(pt)sq=sqrt(9)第37页,本讲稿共55页复数函数复数函数abs:绝对值,复数的模:绝对值,复数的模angle:相位角:相位角conj:复数的共轭:复数的共轭complex(a,b)=a+
29、j*b=a+i*b构造复数构造复数real:复数实部:复数实部imag:复数虚部:复数虚部isreal:判断对象是否为实数:判断对象是否为实数,结果为逻辑值结果为逻辑值加例加例29:x=3;y=6z=complex(x,y)zab=abs(z)zan=angle(z)zconj=conj(z)zi=imag(z)zr=real(z)第38页,本讲稿共55页取整函数取整函数fix:朝零方向取整:朝零方向取整floor:朝负无穷大方向取整,意:地板:朝负无穷大方向取整,意:地板ceil:朝正无穷大方向取整,意:天花板:朝正无穷大方向取整,意:天花板round:四舍五入到:四舍五入到最近最近的整数的
30、整数sign:符号函数,在信号处理中常用:符号函数,在信号处理中常用mod:求余数:求余数,mod(x,y)=x-floor(x./y).*yrem:除除后后求求余余数数,与与平平时时结结果果相相同同,是是整整数数也也可可能是小数能是小数第39页,本讲稿共55页加例加例210:p=3.7;n=-3.7fp=fix(p);fn=fix(n)flp=floor(p);fln=floor(n)cp=ceil(p);cn=ceil(n)rp=round(p);rn=round(n)m1=mod(9,2);m11=9-floor(9./2).*2m2=mod(-9,2);m22=-9-floor(-9.
31、/2).*2r1=rem(9,2);r2=rem(-9,2);r3=rem(9.3,2.1)s1=sign(p);s2=sign(0);s3=sign(n)第40页,本讲稿共55页五、矩阵分解五、矩阵分解l特征值分解特征值分解矩矩阵阵A A的的特特征征矢矢量量与与特特征征值值满满足足A=A=;将将特特征征矢矢量量合合成成矩矩阵阵V V,特特征征值值矩阵矩阵对象角上,则对象角上,则AVAVVV。v,d=eig(a),vv,d=eig(a),v是是a a的的特特征征矢矢量量矩矩阵阵,d d是是a a的特征值矩阵,的特征值矩阵,av=vdav=vdd=eig(a),dd=eig(a),d是是a a的
32、特征值矢量的特征值矢量v,d=eig(a,b),av,d=eig(a,b),a和和b b的的广广义义特特征征值值分分解解av=bvdav=bvd第41页,本讲稿共55页【例例2-202-20】矩阵矩阵a a为为1 2 3;4 5 6;7 8 91 2 3;4 5 6;7 8 9,矩阵,矩阵b b为为-2 1 3;1 4-2;2-1 2-2 1 3;1 4-2;2-1 2,计算计算a a和和b b的广义特的广义特征值分解。征值分解。a=1 2 3;4 5 6;7 8 9;b=-2 1 3;1 4-2;2-1 2;d0=eig(a)v1,d1=eig(a)v,d=eig(a,b)a*v第42页,本
33、讲稿共55页l奇异值分解奇异值分解定义定义:对于任意矩阵对于任意矩阵ACACmnmn,存在酉矩阵存在酉矩阵U=U=uu1 1,u,u2 2,u,um m,V=v,V=v1 1,v,v2 2,v,vn n,使得使得U UT TAV=diagAV=diag(1 1,2 2,p p),),其中其中1 12 2p p0,p=minm,n0,p=minm,n。i i,u ui i,v,vi i 分别称为矩阵分别称为矩阵A A的第的第i i个奇异值、左奇个奇异值、左奇异矢量和右奇异矢量,而它们的组合称为奇异矢量和右奇异矢量,而它们的组合称为奇异值分解三对组。异值分解三对组。酉矩阵酉矩阵u u性质:性质:u
34、 u*u=E*u=EU,S,V=svd(X)U,S,V=svd(X)产生一个与矩阵产生一个与矩阵X X具有相同具有相同维数的矩阵维数的矩阵S S,S S对角线元素为递减的非负值,对角线元素为递减的非负值,同时得到酉矩阵同时得到酉矩阵U U和和V V,使得,使得X=U*S*VX=U*S*V第43页,本讲稿共55页奇异值分解是矩阵求秩运算的基础奇异值分解是矩阵求秩运算的基础,S=svd(A),S=svd(A)得到得到的向量中非零元素的个数就是矩阵的向量中非零元素的个数就是矩阵A A的秩的秩奇异值分解对阶数没有限制,矩阵不一定是方阵奇异值分解对阶数没有限制,矩阵不一定是方阵奇异值分解常用于最小二乘和
35、数据压缩奇异值分解常用于最小二乘和数据压缩【例例2-21】矩阵矩阵a为为11,对矩阵,对矩阵a进行奇异值分解。进行奇异值分解。a=11;u,s,v=svd(a)q1=u*a*vq2=su*u%验证是否酉交阵验证是否酉交阵v*v%验证是否酉交阵验证是否酉交阵第44页,本讲稿共55页lLU分解分解L,U=lu(X)分解为一个分解为一个上三角上三角矩阵矩阵U和一个和一个下下三角矩阵三角矩阵L,使得,使得X=L*U。进行进行lulu分解的分解的X X必须是方阵必须是方阵用于简化大矩阵的行列式值的计算、求逆、解方用于简化大矩阵的行列式值的计算、求逆、解方程程矩阵行列式的值矩阵行列式的值det(X)=de
36、t(L)*det(U)det(X)=det(L)*det(U)矩阵求逆矩阵求逆inv(X)=inv(U)*inv(L)inv(X)=inv(U)*inv(L)lulu分解允许线性方程组分解允许线性方程组Ax=bAx=b进行如下快速运算:进行如下快速运算:x=U(Lb)x=U(Lb),因为,因为L*U*x=bL*U*x=b第45页,本讲稿共55页【例【例2-22】矩阵】矩阵a为为123;456;789,求,求a的的LU分解。分解。a=123;456;789;l,u=lu(a)l*u=alcholesky(克劳斯克劳斯)分解分解格式格式:R=chol(X):R=chol(X)X X为正定矩阵为正定
37、矩阵,R,R是上三角阵是上三角阵,且且R RR=XR=X正定矩阵正定矩阵:对角线元素是正的对角线元素是正的,其他元素不太大其他元素不太大正定矩阵的正定矩阵的cholesky cholesky 分解是唯一的,得到的矩阵为:分解是唯一的,得到的矩阵为:对角线元素为正的对角线元素为正的上上三角阵三角阵X X如不是正定矩阵如不是正定矩阵,则返回错误信息则返回错误信息第46页,本讲稿共55页【例【例2-23】矩阵】矩阵a为为4阶阶pascal矩阵,求矩阵,求a的的Chollesky分解。分解。a=pascal(4)c=chol(a)c*c=alQR分解分解(正交分解正交分解)格式格式:q,r=qr(a)
38、:q,r=qr(a)q q为正交矩阵为正交矩阵,R,R是与是与a a同阶的上同阶的上三角阵三角阵,且且a=q*ra=q*rq q为正交矩阵:为正交矩阵:q.q.*q=E*q=Er r为与为与a a同阶的上三角实矩阵同阶的上三角实矩阵a a可以不是方阵可以不是方阵第47页,本讲稿共55页【例例2-242-24】矩阵矩阵a a为为4 4阶阶pascalpascal矩阵矩阵,求求a a的的QRQR分解分解a=pascal(4)q,r=qr(a)q.*q%验证是否正交阵验证是否正交阵q*r-a%验证是否相等验证是否相等第48页,本讲稿共55页六、矩阵的特征殊操作六、矩阵的特征殊操作l特殊矩阵的创建特殊
39、矩阵的创建空阵空阵:全全0 0阵阵:zeros(m,n,p:zeros(m,n,p)单位阵单位阵:eye(m,n):eye(m,n)全全1 1阵阵:ones(m,n,p:ones(m,n,p)随机阵随机阵0 0到到1 1的随机阵的随机阵:rand(m,n,p:rand(m,n,p)正态分的随机阵正态分的随机阵:rand:randn n(m,n,p(m,n,p)m m、n n、p:p:表示行数、列数、页数等表示行数、列数、页数等第49页,本讲稿共55页l矩阵的特殊操作矩阵的特殊操作重新排列重新排列 reshapereshape系系统统以以母母矩矩阵阵中中元元素素的的单单下下标标为为准准,根根据据
40、用用户户指指定定的的行行数数、列数、页数等参数对母矩阵中的元素重新分配列数、页数等参数对母矩阵中的元素重新分配格式:格式:c=reshape(a,m,n,pc=reshape(a,m,n,p)母矩阵母矩阵a a的各维阶数之积应等于新矩阵各维阶数之积的各维阶数之积应等于新矩阵各维阶数之积变换后的元素仍按单下标排序顺序排列变换后的元素仍按单下标排序顺序排列【例例2-252-25】矩阵矩阵a a为为4 4阶阶pascalpascal矩阵,将其重新排列为矩阵,将其重新排列为116116阶的一阶的一维矢量和维矢量和242242阶的三维数组。阶的三维数组。a=pascal(4)c=reshape(a,1,
41、16)c=reshape(a,2,4,2)第50页,本讲稿共55页矩阵的翻转和旋转矩阵的翻转和旋转fliplrfliplr:矩阵左右翻转:矩阵左右翻转flipudflipud:矩阵上下翻转:矩阵上下翻转Flipdim(a,k):Flipdim(a,k):矩阵矩阵a a以第以第k k维方向翻转维方向翻转MATLABMATLAB规定:规定:1-1-列;列;2-2-行行rat90rat90:矩阵逆时针:矩阵逆时针90900 0旋转旋转【例例2-262-26】矩阵矩阵a a为为4 4阶阶pascalpascal矩阵,分别将其左右翻转、上下矩阵,分别将其左右翻转、上下翻转和旋转。翻转和旋转。a=pasc
42、al(4)c=fliplr(a)c=flipud(a)c=rot90(a)第51页,本讲稿共55页l矩阵的抽取矩阵的抽取c=diag(a,n)c=diag(a,n)抽抽取取第第n n条条对对角角线线元元素素,结结果果为为矢量矢量a=diag(c,n)a=diag(c,n)上上式式的的逆逆操操作作,矢矢量量c c赋赋给给零零矩矩阵阵a a的第的第n n条对角线上条对角线上tril(a,n)tril(a,n)抽取第抽取第n n条对角线及以下的元素条对角线及以下的元素l:lower triangular partl:lower triangular parttriu(a,n)triu(a,n)抽取第
43、抽取第n n条对角线及以上的元素条对角线及以上的元素 u:upper triangular partu:upper triangular part n n为为对对角角线线编编号号,大大于于0 0向向上上数数,小小于于0 0向向下下数数,0 0或或缺省指主对角线缺省指主对角线第52页,本讲稿共55页【例例2-272-27】矩阵矩阵a a为为4 4阶阶pascalpascal矩阵,分别抽取其对角线矩阵,分别抽取其对角线元素、创建对角矩阵、抽取上三角矩阵和下三角矩阵。元素、创建对角矩阵、抽取上三角矩阵和下三角矩阵。a=pascal(4)c=diag(a,1)b=diag(c,1)c=tril(a)c=triu(a,-1)第53页,本讲稿共55页l矩阵的拼接矩阵的拼接纵向拼接,纵向拼接,矩阵行矢量列数相同矩阵行矢量列数相同 X=A;B;X=A;B;Z;Z纵向拼接,纵向拼接,矩阵列矢量行数相同矩阵列矢量行数相同 X=A B X=A B Z Z或或 X=AX=A,B B,ZZ第54页,本讲稿共55页【补补2_112_11】确定矩阵确定矩阵c c和和c1c1的内容的内容a=ones(4,3)b=zeros(4,1)c=ababa1=ones(3,4)b1=zeros(1,4)c1=a1;b1;a1;b1第55页,本讲稿共55页
限制150内