《第2章数组矩阵及其运算精选文档.ppt》由会员分享,可在线阅读,更多相关《第2章数组矩阵及其运算精选文档.ppt(126页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第2 2章数组矩阵及其运算章数组矩阵及其运算本讲稿第一页,共一百二十六页第第2 2章数组、矩阵及其运算章数组、矩阵及其运算2.1 2.1 数组的创建数组的创建2.2 2.2 矩阵的代数运算矩阵的代数运算2.3 2.3 矩阵的关系运算矩阵的关系运算2.4 2.4 矩阵运算矩阵运算2.5 2.5 符号矩阵运算符号矩阵运算2.6 2.6 高高 维维 数数 组组2.7 2.7 非数和空数组非数和空数组2.8 2.8 矩矩 阵阵 分分 解解2.9 2.9 特征值与特征向量特征值与特征向量2.10 2.10 小小 结结本讲稿第二页,共一百二十六页 数组或矩阵是数组或矩阵是MATLABMATLAB最基础的
2、内容之一,几乎最基础的内容之一,几乎所有的数据都是用数组的形式进行存储的,这就是所有的数据都是用数组的形式进行存储的,这就是MATLABMATLAB又被称为矩阵实验室的原因。又被称为矩阵实验室的原因。本章将首先介绍数组或矩阵的创建和运算,然本章将首先介绍数组或矩阵的创建和运算,然后介绍在理论和工程应用中都十分重要的矩阵分解,后介绍在理论和工程应用中都十分重要的矩阵分解,最后介绍矩阵的特征值与特征向量的求解等问题。最后介绍矩阵的特征值与特征向量的求解等问题。本讲稿第三页,共一百二十六页2.1 数组的创建1 1直接输入法直接输入法(1 1)使用分号,)使用分号,创建一建一维列数列数组。D1=pi;
3、log(5);7+2;23 D1=pi;log(5);7+2;23D1=D1=3.1416 3.1416 1.6094 1.6094 9.0000 9.0000 8.0000 8.00001.3.2 Windows下安装下安装MATLAB本讲稿第四页,共一百二十六页(2 2)使用空格,创建一维行数组。)使用空格,创建一维行数组。D2=pi log(5)7+2 23 D2=pi log(5)7+2 23D2=D2=3.1416 1.6094 9.0000 8.0000 3.1416 1.6094 9.0000 8.0000本讲稿第五页,共一百二十六页 采用通用格式采用通用格式a a:stepst
4、ep:b b。其中其中a a表示数组的第一个元素;表示数组的第一个元素;setpsetp表示数组的表示数组的间隔,即步长;间隔,即步长;b b表示数组的最后一个元素。表示数组的最后一个元素。如果省略如果省略stepstep,默认值为,默认值为1 1;如果;如果stepstep是正数,是正数,必须满足必须满足ababab。2 2步长生成法步长生成法本讲稿第六页,共一百二十六页 在设定了总个数的条件下,均匀采样分布生在设定了总个数的条件下,均匀采样分布生成一维行数组。采用通用格式:成一维行数组。采用通用格式:x xlinspace(a,b,n)linspace(a,b,n)3 3定数线性采样法定数
5、线性采样法本讲稿第七页,共一百二十六页 在设定了总个数的条件下,经过在设定了总个数的条件下,经过“常用对数常用对数”采样生成一维行数组。采样生成一维行数组。采用通用格式采用通用格式x xlogspace(a,b,n)logspace(a,b,n),其中,其中a a、b b分别是数组的第一个和最后一个元素,分别是数组的第一个和最后一个元素,n n表示个表示个数。数。4 4定数对数采样法定数对数采样法本讲稿第八页,共一百二十六页1 1子数组的寻访子数组的寻访rand(state,0)rand(state,0)%把均匀分布把均匀分布伪随机随机发生器置生器置为0 0状状态。x=rand(1,5)x=r
6、and(1,5)%产生(生(1515)的均布随机数)的均布随机数组。x=x=0.9501 0.2311 0.6068 0.4860 0.8913 0.9501 0.2311 0.6068 0.4860 0.8913 x(3)x(3)%寻访数数组x x的第三个元素的第三个元素ans=ans=0.6068 0.6068 2.1.2 一维数组的子数组寻访和赋值一维数组的子数组寻访和赋值本讲稿第九页,共一百二十六页x(3)=0 x(3)=0%把上例中的第三个元素重新赋把上例中的第三个元素重新赋值为值为0 0。x=x=0.9501 0.2311 0 0.4860 0.8913 0.9501 0.2311
7、 0 0.4860 0.8913 x(1 4)=1 1x(1 4)=1 1%把当前把当前x x数组的第一、四个元素数组的第一、四个元素都赋值为都赋值为1 1。x=x=1.0000 0.2311 0 1.0000 0.8913 1.0000 0.2311 0 1.0000 0.8913 2 2子数组的赋值子数组的赋值本讲稿第十页,共一百二十六页1 1采用直接输入法创建二维数组采用直接输入法创建二维数组【例【例2-12-1】创建二维数组。】创建二维数组。【例【例2-22-2】复数数】复数数组的另一种的另一种输入方式。入方式。2.1.3 二维数组(矩阵)的创建二维数组(矩阵)的创建本讲稿第十一页,共
8、一百二十六页 2 2采用采用MATLABMATLAB中产生矩阵的内部函中产生矩阵的内部函数命令创建二维数组数命令创建二维数组表表表表2-12-1MATLABMATLAB内部函数内部函数内部函数内部函数产产产产生矩生矩生矩生矩阵阵阵阵命令表命令表命令表命令表函 数功 能函 数功 能compan伴随阵 zeros元素全为0的矩阵 diag对角阵 ones元素全为1的矩阵 magic魔方矩阵 rand元素服从均匀分布的随机矩阵 linspace线性空间向量 randn元素服从正态分布的随机矩阵 logspace对数空间向量 eye对角线上元素为1的矩阵(单位矩阵)本讲稿第十二页,共一百二十六页 找到
9、满足某一条件的矩阵元素称为矩阵元素的找到满足某一条件的矩阵元素称为矩阵元素的标识。标识。【例【例2-32-3】找出数组】找出数组A A中所有绝对值大于中所有绝对值大于3 3的元素。的元素。2.1.4 矩阵元素的标识矩阵元素的标识本讲稿第十三页,共一百二十六页 矩阵的赋值可以采用全元素、单下标、双下标矩阵的赋值可以采用全元素、单下标、双下标等方式。等方式。【例【例2-42-4】不同赋值方式示例。】不同赋值方式示例。2.1.5 矩阵的寻访和赋值矩阵的寻访和赋值本讲稿第十四页,共一百二十六页2.2.1 pow2函数函数2.2.2 加、减运算加、减运算2.2.3 乘法乘法2.2.4 集合运算集合运算2
10、.2.5 除法运算除法运算2.2.6 矩阵乘方矩阵乘方2.2 矩阵的代数运算本讲稿第十五页,共一百二十六页 命令:命令:X=pow2(F,E)X=pow2(F,E),表示,表示 【例【例2-52-5】演示】演示pow2pow2的数组运算性质。的数组运算性质。2.2.1 pow2函数函数本讲稿第十六页,共一百二十六页 加、减运算符为加、减运算符为“+”和和“”。运算规则为。运算规则为对应元素相加、减,即按线性代数中矩阵的对应元素相加、减,即按线性代数中矩阵的“+”、“”运算进行。运算进行。【例【例2-62-6】加、减运算符示例。】加、减运算符示例。2.2.2 加、减运算加、减运算本讲稿第十七页,
11、共一百二十六页 乘法运算符为乘法运算符为“*”。运算规则和线性代数中。运算规则和线性代数中矩阵乘法运算相同,即放在前面的矩阵的各行元素,矩阵乘法运算相同,即放在前面的矩阵的各行元素,分别与放在后面的矩阵的各列元素对应相乘并相加。分别与放在后面的矩阵的各列元素对应相乘并相加。1 1两个矩阵相乘两个矩阵相乘 【例【例2-72-7】矩阵相乘示例。】矩阵相乘示例。2 2矩阵的数乘:数乘矩阵矩阵的数乘:数乘矩阵 【例【例2-82-8】矩阵的数乘示例。】矩阵的数乘示例。2.2.3 乘法乘法本讲稿第十八页,共一百二十六页 维数相同的两个向量的点乘;维数相同的两个向量的点乘;A A.*.*B B表示表示A A
12、与与B B对对应元素相乘。应元素相乘。【例【例2-92-9】点乘示例。】点乘示例。3 3向量的点乘(内积)向量的点乘(内积)本讲稿第十九页,共一百二十六页 命令格式:命令格式:C=dot(A,B)C=dot(A,B)%若若A A、B B为向量,则返回向量为向量,则返回向量A A与与B B的点的点积,积,A A与与B B长长%度相同;若为矩阵,则度相同;若为矩阵,则A A%与与B B有相同的维数。有相同的维数。C=dot(A,B,dim)C=dot(A,B,dim)%在在dimdim维数中给出维数中给出A A与与B B的点积。的点积。4 4向量点积向量点积本讲稿第二十页,共一百二十六页 在数学上
13、,两向量的叉乘是一个过两相交向量在数学上,两向量的叉乘是一个过两相交向量的交点且垂直于两向量所在平面的向量。的交点且垂直于两向量所在平面的向量。crosscross用用来实现求解向量叉乘。来实现求解向量叉乘。命令格式:命令格式:C=cross(A,B)C=cross(A,B)【例【例2-112-11】计算垂直于向量(】计算垂直于向量(1,2,31,2,3)和(和(4,5,64,5,6)的向量。)的向量。5 5向量叉乘向量叉乘本讲稿第二十一页,共一百二十六页 【例例2-122-12】计计算算向向量量a a=(1,=(1,2,2,3)3)、b b=(4,=(4,5,5,6)6)和和c c=(-3,
14、6,-3)=(-3,6,-3)的混合积。的混合积。6 6混合积混合积本讲稿第二十二页,共一百二十六页 命令格式:命令格式:w=conv(u,v)%uw=conv(u,v)%u、v v为向量,其长度可不相同。为向量,其长度可不相同。【例【例2-132-13】展开多项式】展开多项式(s s2 2+2+2s s+2)(+2)(s s+4)(+4)(s s+1)+1)。7 7矩阵的卷积和多项式乘法矩阵的卷积和多项式乘法本讲稿第二十三页,共一百二十六页命令格式:命令格式:q,r=deconv(v,u)%q,r=deconv(v,u)%多项式多项式v v除以多项式除以多项式u u,返回商多,返回商多项式项
15、式q q和余多项式和余多项式r r。【例【例2-142-14】计算多项式的】计算多项式的 卷积。卷积。8 8反褶积(解卷)和多项式除法运算反褶积(解卷)和多项式除法运算本讲稿第二十四页,共一百二十六页命令格式:命令格式:C=kron(A,B)%A C=kron(A,B)%A为为mnmn矩阵,矩阵,B B为为pqpq矩阵,则矩阵,则C C为为mpnqmpnq矩阵。矩阵。【例【例2-152-15】,求,求A BA B。9 9张量积张量积本讲稿第二十五页,共一百二十六页1 1两个集合的交集两个集合的交集命令格式:命令格式:c=intersect(a,b)c=intersect(a,b)%返回向量返回
16、向量a a、b b的公的公共部分,即共部分,即c=abc=ab。c=intersect(A,B,rows)c=intersect(A,B,rows)%A%A、B B为相同列数的矩阵,为相同列数的矩阵,返回元素相同的行。返回元素相同的行。c,ia,ib=intersect(a,b)c,ia,ib=intersect(a,b)%c%c为为a a、b b的公共元素,的公共元素,iaia表示公共元素在表示公共元素在a a中的位置,中的位置,ibib表示公表示公%共元素在共元素在b b中位置。中位置。【例【例2-162-16】两个集合的交集示例。】两个集合的交集示例。2.2.4 集合运算集合运算本讲稿第
17、二十六页,共一百二十六页命令格式:命令格式:k=ismember(a,S)k=ismember(a,S)%当当a a中元素属于中元素属于S S时,时,k k取取1 1,否,否则,则,k k取取0 0。k=ismember(A,S,rows)k=ismember(A,S,rows)%A%A、S S有相同的列,行相同有相同的列,行相同k k取取1 1,不相同取,不相同取0 0,同时结果为取值的列向量。,同时结果为取值的列向量。【例【例2-172-17】检测集合中的元素示例。】检测集合中的元素示例。2 2检测集合中的元素检测集合中的元素本讲稿第二十七页,共一百二十六页命令格式:命令格式:c=setd
18、iff(a,b)c=setdiff(a,b)%返回属于返回属于a a但不属于但不属于b b的的不同元素的集合,不同元素的集合,c=a-bc=a-b。c=setdiff(A,B,rows)c=setdiff(A,B,rows)%返回属于返回属于A A但不属于但不属于B B的不同的不同行。行。c,i=setdiff(c,i=setdiff()%c%c与前面一致,与前面一致,i i表示表示c c中元中元素在素在A A中的位置。中的位置。【例【例2-182-18】两集合的差示例。】两集合的差示例。3 3两集合的差两集合的差本讲稿第二十八页,共一百二十六页命令格式:命令格式:c=setxor(a,b)%
19、c=setxor(a,b)%返回集合返回集合a a、b b交集的非。交集的非。c=setxor(A,B,rows)%c=setxor(A,B,rows)%返回矩阵返回矩阵A A、B B交集的非,交集的非,A A、B B有有相同列数。相同列数。c,ia,ib=setxor(c,ia,ib=setxor()%ia)%ia、ibib表示表示c c中元素分别在中元素分别在a a(或或A)A)、b(b(或或B)B)中位置。中位置。【例【例2-192-19】两个集合交集的非示例。】两个集合交集的非示例。4 4两个集合交集的非(异或)两个集合交集的非(异或)本讲稿第二十九页,共一百二十六页命令格式:命令格式
20、:c=union(a,b)c=union(a,b)%返回返回a a、b b的并集,即的并集,即c=abc=ab。c=union(A,B,rows)c=union(A,B,rows)%返回矩阵返回矩阵A A、B B不同行向不同行向量构成的矩阵。量构成的矩阵。c,ia,ib=union(c,ia,ib=union()%ia%ia、ibib分别表示分别表示c c中行向量中行向量在原矩阵在原矩阵(向量向量)中的位置。中的位置。【例【例2-202-20】两集合的并集示例。】两集合的并集示例。5 5两集合的并集两集合的并集本讲稿第三十页,共一百二十六页命令格式:命令格式:b=unique(a)b=uniq
21、ue(a)%取集合取集合a a的不重复元素构成的向的不重复元素构成的向量。量。b=unique(A,rows)b=unique(A,rows)%返回返回A A、B B不同行元素组成的矩阵。不同行元素组成的矩阵。b,i,j=unique(b,i,j=unique()%i%i、j j体现体现b b中元素在原向量中元素在原向量(矩阵)中的位置。(矩阵)中的位置。【例【例2-212-21】取集合的单值元素。】取集合的单值元素。6 6取集合的单值元素取集合的单值元素本讲稿第三十一页,共一百二十六页 MATLAB MATLAB提供了两种除法运算:左除(提供了两种除法运算:左除()和)和右除(右除(/)。)
22、。一般情况下,一般情况下,x x=a a b b是方程是方程a a*x x=b b的解,而的解,而x x=b b/a a是方程是方程x x*a a=b b的解。的解。【例【例2-222-22】除法运算示例。】除法运算示例。2.2.5 除法运算除法运算本讲稿第三十二页,共一百二十六页乘方运算符:乘方运算符:“”。运算规则。运算规则。(1 1)当)当A A为方阵,为方阵,P P为大于为大于0 0的整数时,的整数时,A A P P表表示示A A的的P P次方,即次方,即A A自乘自乘P P次;次;P P为小于为小于0 0的整数时,的整数时,A A P P表示表示A A-1-1的的P P次方。次方。2
23、.2.6 矩阵乘方矩阵乘方本讲稿第三十三页,共一百二十六页(2 2)当)当A A为方阵,为方阵,P P为非整数时,则为非整数时,则 ,其中,其中V V为为A A的特征向的特征向 量,量,为特征值对角矩阵。如果有为特征值对角矩阵。如果有重根,以上指令不成立。重根,以上指令不成立。本讲稿第三十四页,共一百二十六页(3 3)标量的矩阵乘方)标量的矩阵乘方PAPA,标量的矩阵乘方定,标量的矩阵乘方定义为,义为,其中其中V V,D D取取 自特征值分解自特征值分解AVAV=ADAD。本讲稿第三十五页,共一百二十六页(4 4)标量的数组乘方标量的数组乘方P P.A A,标量的数组乘方,标量的数组乘方定义为
24、定义为 ;数组乘;数组乘方方A A.P P,表示,表示A A的每个元素的的每个元素的P P次乘方。次乘方。本讲稿第三十六页,共一百二十六页2.3.1 矩阵的比较关系运算矩阵的比较关系运算2.3.2 矩阵的逻辑关系运算矩阵的逻辑关系运算2.3 矩阵的关系运算本讲稿第三十七页,共一百二十六页 矩阵的比较关系是针对于两个矩阵对应元素的,矩阵的比较关系是针对于两个矩阵对应元素的,所以在使用关系运算时,首先应该保证两个矩阵的所以在使用关系运算时,首先应该保证两个矩阵的维数一致或其中一个矩阵为标量。维数一致或其中一个矩阵为标量。关系运算是对两个矩阵的对应运算进行比较。关系运算是对两个矩阵的对应运算进行比较
25、。若关系满足,则将结果矩阵中该位置元素若关系满足,则将结果矩阵中该位置元素置为置为1 1,否则置,否则置0 0。MATLAB MATLAB的各种比较关系运算如表的各种比较关系运算如表2-22-2所示。所示。2.3.1 矩阵的比较关系运算矩阵的比较关系运算本讲稿第三十八页,共一百二十六页表表表表2-22-2手工清洗工具手工清洗工具手工清洗工具手工清洗工具运算符含 义运算符含 义大于关系=大于或等于关系 A=1 1 0;0 0 2;0 0-A=1 1 0;0 0 2;0 0-1;Y=expm(A)1;Y=expm(A)本讲稿第四十九页,共一百二十六页(3 3)方阵的函数)方阵的函数funmfunm
26、。命令格式:命令格式:F=funm(A,fun)F=funm(A,fun)%A%A为方阵,计算由为方阵,计算由funfun指定的指定的A A的的矩阵函数,矩阵函数,funfun可以是任意基本函数,如可以是任意基本函数,如%sin%sin、coscos等,例如:等,例如:funm(A,funm(A,expexp)=expm(A)=expm(A)。F,esterr=funm(A,fun)F,esterr=funm(A,fun)%esterr%esterr为结果所产生为结果所产生的相对误差的估计值。的相对误差的估计值。本讲稿第五十页,共一百二十六页(4 4)矩阵的方根函数)矩阵的方根函数 sqrtm
27、 sqrtm。命令格式:命令格式:X=sqrtm(A)X=sqrtm(A)%矩阵矩阵A A的平方根的平方根A1/2A1/2,相当于,相当于X*X=AX*X=A,求求X X。若。若A A的特征值有非负实部,的特征值有非负实部,%则则X X是唯一的;若是唯一的;若A A的特征值有负的实部,则的特征值有负的实部,则X X为复矩阵;为复矩阵;若若A A为奇异矩为奇异矩%阵,则阵,则X X不存在。不存在。X,resnorm=sqrtm(A)X,resnorm=sqrtm(A)%resnorm%resnorm为结果产生的相对误差。为结果产生的相对误差。X,alpha,condest=sqrtm(A)X,a
28、lpha,condest=sqrtm(A)%alpha%alpha为稳为稳定因子,定因子,condestcondest为结果条件数的估计值。为结果条件数的估计值。本讲稿第五十一页,共一百二十六页(5 5)矩阵)矩阵A A的多项式函数的多项式函数 polyval polyval。命令格式:命令格式:polyval(P,A)%Ppolyval(P,A)%P为多项式系数向量,为多项式系数向量,方阵方阵A A为多项式变量,返回多项式值。为多项式变量,返回多项式值。【例【例2-292-29】p,S=polyfit(1:10,(1:10)+p,S=polyfit(1:10,(1:10)+normrnd(0
29、,0.1,1,10),1);normrnd(0,0.1,1,10),1);本讲稿第五十二页,共一百二十六页 矩阵转置运算符:矩阵转置运算符:“”。运算规则:若矩阵运算规则:若矩阵A A的元素为实数,则与线性的元素为实数,则与线性代数中矩阵的转置相同;若代数中矩阵的转置相同;若A A为复数矩阵,则为复数矩阵,则A A转置转置后的元素由后的元素由A A对应元素的共轭复数构成。对应元素的共轭复数构成。若仅希望转置,则用如下命令:若仅希望转置,则用如下命令:A A.。【例【例2-302-30】两种不同转置的比较。】两种不同转置的比较。2.4.2 矩阵转置矩阵转置本讲稿第五十三页,共一百二十六页命令格式
30、:命令格式:d=det(X)%d=det(X)%返回方阵返回方阵X X的多项式的值的多项式的值【例【例2-312-31】求方阵的行列式。】求方阵的行列式。2.4.3 方阵的行列式方阵的行列式本讲稿第五十四页,共一百二十六页求解方阵的逆矩阵的命令格式:求解方阵的逆矩阵的命令格式:Y=inv(X)Y=inv(X)%求方阵求方阵X X的逆矩阵。若的逆矩阵。若X X为奇异阵或为奇异阵或近似奇异阵,将给出警告信息。近似奇异阵,将给出警告信息。【例【例2-322-32】求】求 的逆矩阵。的逆矩阵。【例【例2-332-33】求矩阵】求矩阵A A的逆矩阵。的逆矩阵。【例【例2-342-34】求矩阵】求矩阵A
31、A的伪逆。的伪逆。2.4.4 逆与伪逆逆与伪逆本讲稿第五十五页,共一百二十六页命令格式:命令格式:b=trace(A)b=trace(A)%返回矩阵返回矩阵A A的迹,即的迹,即A A的对角线元的对角线元素之和。素之和。2.4.5 矩阵的迹矩阵的迹本讲稿第五十六页,共一百二十六页求解向量的范数求解向量的范数normnorm函数的命令格式:函数的命令格式:n=norm(X)n=norm(X)%X%X为向量,求欧几里德范数,即为向量,求欧几里德范数,即 。n=norm(X,inf)%n=norm(X,inf)%求求-范数,即范数,即 。n=norm(X,1)n=norm(X,1)%求求1-1-范数
32、,即范数,即 。n=norm(X,-inf)%n=norm(X,-inf)%求向量求向量X X的元素的绝对值的最小值,的元素的绝对值的最小值,即即 。n=norm(X,p)n=norm(X,p)%求求p-p-范数,即范数,即 ,所以,所以norm(X,2)=norm(X)norm(X,2)=norm(X)。2.4.6 矩阵和向量的范数矩阵和向量的范数本讲稿第五十七页,共一百二十六页解矩阵的范数解矩阵的范数normnorm函数的命令格式:函数的命令格式:n=norm(A)n=norm(A)%A%A为矩阵,求欧几里德范数为矩阵,求欧几里德范数 ,等于,等于A A的最大奇异值。的最大奇异值。n=no
33、rm(A,1)n=norm(A,1)%求求A A的列范数的列范数 ,等于,等于A A列向量的列向量的1-1-范数的最大值。范数的最大值。n=norm(A,2)n=norm(A,2)%求求A A的欧几里德范数的欧几里德范数 ,和,和norm(A)norm(A)相同。相同。n=norm(A,inf)n=norm(A,inf)%求行范数,等于求行范数,等于A A行向量的行向量的1-1-范数的最范数的最大值,即:大值,即:%max(sum(abs(A)%max(sum(abs(A)。n=norm(A,n=norm(A,frofro)%求矩阵求矩阵A A的的FrobeniusFrobenius范数范数
34、,即,即%sqrt(sum(diag(A*A)%sqrt(sum(diag(A*A),%不能用矩阵不能用矩阵p-p-范数的定义来求。范数的定义来求。本讲稿第五十八页,共一百二十六页求解范数的估计值求解范数的估计值normestnormest函数的命令格式:函数的命令格式:nrm=normest(A)nrm=normest(A)%矩阵矩阵A A的的2-2-范数范数(欧几里德范数欧几里德范数)的估计值,相对误差小于的估计值,相对误差小于10106 6。nrm=normest(A,tol)nrm=normest(A,tol)%tol%tol为指定相对误差。为指定相对误差。nrm,count=norm
35、est(nrm,count=normest()%count)%count给出计算估计值的给出计算估计值的迭代次数。迭代次数。本讲稿第五十九页,共一百二十六页 (1 1)求解矩阵的条件数)求解矩阵的条件数condcond函数的命令格函数的命令格式。式。c=cond(X)c=cond(X)%求求X X的的2-2-范数的条件数,即范数的条件数,即X X的最大奇的最大奇异值和最小奇异值的商。异值和最小奇异值的商。c=cond(X,p)%c=cond(X,p)%求求p-p-范数的条件数,范数的条件数,p p的值可以是的值可以是1 1、2 2、infinf或者或者frofro。2.4.7 条件数条件数本讲
36、稿第六十页,共一百二十六页 (2 2)求解)求解1-1-范数的条件数估计范数的条件数估计condestcondest函数的函数的命令格式。命令格式。c=condest(A)%c=condest(A)%方阵方阵A A的的1-1-范数的条件数的下界估值。范数的条件数的下界估值。c,v=condest(A)c,v=condest(A)%v%v为向量,满足,为向量,满足,%即即norm(A*v,1)norm(A*v,1)=norm(A,1)*norm(v,1)/c=norm(A,1)*norm(v,1)/c。c,v=condest(A,t)c,v=condest(A,t)%求上面的求上面的c c和和v
37、 v,同时显,同时显示出关于计算的步骤信息。如果示出关于计算的步骤信息。如果t=1t=1,%计算的每步都显示出来;如果计算的每步都显示出来;如果t=-1t=-1,则给出商,则给出商c/rcond(A)c/rcond(A)。本讲稿第六十一页,共一百二十六页 (3 3)求解矩阵可逆的条件数估值)求解矩阵可逆的条件数估值rcondrcond函数函数的命令格式。的命令格式。c=rcond(A)c=rcond(A)%对于差条件矩阵对于差条件矩阵A A来说,给出来说,给出一个接近于一个接近于0 0的数;对于好条件矩阵的数;对于好条件矩阵A A%则给出一个接近于则给出一个接近于1 1的数。的数。本讲稿第六十
38、二页,共一百二十六页(4 4)求解特征值的条件数)求解特征值的条件数condeigcondeig函数的命令格式。函数的命令格式。c=condeig(A)%c=condeig(A)%返回矩阵返回矩阵A A特征值的条件特征值的条件数。数。V,D,c=condeig(A)V,D,c=condeig(A)%D%D为为A A的特征值对角阵,的特征值对角阵,V V为为A A的特征向量。的特征向量。本讲稿第六十三页,共一百二十六页 矩阵矩阵A A的秩是矩阵的秩是矩阵A A中最高阶非零子式的阶数;中最高阶非零子式的阶数;向量组的秩通常由该向量组构成的矩阵来计算。向量组的秩通常由该向量组构成的矩阵来计算。命令格
39、式:命令格式:k=rank(A)k=rank(A)%求矩阵求矩阵A A的秩。的秩。k=rank(A,tol)k=rank(A,tol)%tol%tol为给定误差。为给定误差。2.4.8 矩阵的秩矩阵的秩本讲稿第六十四页,共一百二十六页 判断向量组的线性相关性只需要先求出向判断向量组的线性相关性只需要先求出向量组的秩,如果秩小于向量个数则说明向量组量组的秩,如果秩小于向量个数则说明向量组线性相关。线性相关。【例【例2-352-35】求向量组】求向量组 1=(1 1=(1 2 2 3)2 2 3),2=(2=(2 4 2 4 1 3)1 3),3=(3=(1 2 0 3)1 2 0 3),4=(0
40、 6 2 4=(0 6 2 3)3),5=(2 5=(2 6 3 4)6 3 4)的秩,并判断其线性相关性。的秩,并判断其线性相关性。2.4.9 向量组的线性相关性向量组的线性相关性本讲稿第六十五页,共一百二十六页 行阶梯使用初等行变换,矩阵的初等行变换有行阶梯使用初等行变换,矩阵的初等行变换有3 3条:条:(1 1)交换两行)交换两行 (第(第i i、第、第j j两行交换);两行交换);(2 2)第)第i i行的行的k k倍,即倍,即 。(3 3)第)第i i行的行的k k倍加到第倍加到第j j行上去,即行上去,即 。通过这通过这3 3条变换可以将矩阵化成行最简形,从条变换可以将矩阵化成行最
41、简形,从而找出列向量组的一个最大无关组,而找出列向量组的一个最大无关组,MATLABMATLAB将矩阵将矩阵化成行最简形的命令是化成行最简形的命令是rrefrref或或rrefmovierrefmovie。2.4.10 行阶梯矩阵及向量组的基行阶梯矩阵及向量组的基本讲稿第六十六页,共一百二十六页 【例【例2-362-36】求向量组】求向量组a a1=(1,-2,2,3)1=(1,-2,2,3),a a2=2=(-2,4,-1,3)(-2,4,-1,3),a a3=(-1,2,0,3)3=(-1,2,0,3),a a4=(0,6,2,3)4=(0,6,2,3),a a5=(2,-6,3,4)5=
42、(2,-6,3,4)的一个最大无关组。的一个最大无关组。本讲稿第六十七页,共一百二十六页1 1矩阵对角线元素的抽取矩阵对角线元素的抽取命令格式:命令格式:X=diag(v,k)%X=diag(v,k)%以向量以向量v v的元素作为矩阵的元素作为矩阵X X的第的第k k条对角线元素,条对角线元素,当当k=0k=0时,时,v v为为X X%的主对角线;当的主对角线;当k0k0时,时,v v为上方第为上方第k k条对角线;当条对角线;当k0k0%k0:抽取上方第:抽取上方第k k条对角线元素;条对角线元素;k0k0k0为主。为主。%对角线以上;对角线以上;k0k0k0为主。为主。%对角线以上;对角线
43、以上;k0k0为主对角线以为主对角线以下。下。【例【例2-382-38】上三角阵和下三角阵的抽取示】上三角阵和下三角阵的抽取示例。例。本讲稿第七十一页,共一百二十六页 矩阵的变维有两种方法,即用矩阵的变维有两种方法,即用“:”和函数和函数“reshapereshape”,前者主要针对两个已知维数矩阵,前者主要针对两个已知维数矩阵之间的变维操作;而后者是对于一个矩阵的操之间的变维操作;而后者是对于一个矩阵的操作。作。(1 1)“:”变维变维【例【例2-392-39】矩阵变维示例一。】矩阵变维示例一。3 3矩阵的变维矩阵的变维本讲稿第七十二页,共一百二十六页(2 2)ReshapeReshape函
44、数变维函数变维命令格式:命令格式:B=reshape(A,m,n)B=reshape(A,m,n)%返回以矩阵返回以矩阵A A的元素构成的的元素构成的mnmn矩阵矩阵B B。B=reshape(A,m,n,p,B=reshape(A,m,n,p,)%将矩阵将矩阵A A变变维为维为mnpmnp。B=reshape(A,m n p B=reshape(A,m n p)%同上。同上。B=reshape(A,siz)B=reshape(A,siz)%由由sizsiz决定变维的大小,元素个数与决定变维的大小,元素个数与A A中元素个数相同。中元素个数相同。【例【例2-402-40】矩阵变维示例二。】矩阵
45、变维示例二。本讲稿第七十三页,共一百二十六页(1 1)矩阵旋转)矩阵旋转命令格式:命令格式:B=rot90(A)%B=rot90(A)%将矩阵将矩阵A A逆时针方向旋转逆时针方向旋转9090。B=rot90(A,k)%B=rot90(A,k)%将矩阵将矩阵A A逆时针方向旋转逆时针方向旋转(k90)(k90),k k可可取正负整数。取正负整数。【例【例2-412-41】矩阵旋转示例。】矩阵旋转示例。4 4矩阵的变向矩阵的变向本讲稿第七十四页,共一百二十六页(2 2)矩阵的左右翻转)矩阵的左右翻转命令格式:命令格式:B=fliplr(A)B=fliplr(A)%将矩阵将矩阵A A左右翻转。左右翻
46、转。(3 3)矩阵的上下翻转)矩阵的上下翻转命令格式:命令格式:B=flipud(A)B=flipud(A)%将矩阵将矩阵A A上下翻转。上下翻转。【例【例2-422-42】矩阵翻转示例。】矩阵翻转示例。本讲稿第七十五页,共一百二十六页(4 4)按指定维数翻转矩阵)按指定维数翻转矩阵命令格式:命令格式:B=flipdim(A,dim)%flipdim(A,1)=flipud(A)B=flipdim(A,dim)%flipdim(A,1)=flipud(A),并且,并且flipdim(A,2)=fliplr(A)flipdim(A,2)=fliplr(A)。【例【例2-432-43】按指定维数翻
47、转矩阵示例。】按指定维数翻转矩阵示例。本讲稿第七十六页,共一百二十六页(5 5)复制和平铺矩阵)复制和平铺矩阵命令格式:命令格式:B=repmat(A,m,n)B=repmat(A,m,n)%将矩阵将矩阵A A复制复制mnmn块,即块,即B B由由mnmn块块A A平铺而成。平铺而成。B=repmat(A,m n)B=repmat(A,m n)%与上面一致。与上面一致。B=repmat(A,m n pB=repmat(A,m n p)%B%B由由mnpmnp个个A A块平块平铺而成。铺而成。B=repmat(A,m,n)B=repmat(A,m,n)%当当A A是一个数是一个数a a时,该命令
48、时,该命令产生一个全由产生一个全由a a组成的组成的mnmn矩阵。矩阵。【例【例2-442-44】复制和平铺矩阵示例。】复制和平铺矩阵示例。本讲稿第七十七页,共一百二十六页 对于小数构成的矩阵对于小数构成的矩阵A A来说,如果我们想对它来说,如果我们想对它取整数,有以下几种方法:取整数,有以下几种方法:(1 1)按)按-方向取整方向取整命令格式:命令格式:floor(A)floor(A)%将将A A中元素按中元素按-方向取整,即取不方向取整,即取不足整数。足整数。5 5矩阵元素的数据变换矩阵元素的数据变换本讲稿第七十八页,共一百二十六页(2 2)按)按+方向取整方向取整命令格式:命令格式:ce
49、il(A)ceil(A)%将将A A中元素按中元素按+方向取整,即取过剩整数。方向取整,即取过剩整数。(3 3)四舍五入取整)四舍五入取整命令格式:命令格式:round(A)round(A)%将将A A中元素按最近的整数取整,即四舍中元素按最近的整数取整,即四舍五入取整。五入取整。本讲稿第七十九页,共一百二十六页(4 4)按离)按离0 0近的方向取整近的方向取整命令格式:命令格式:fix(A)fix(A)%将将A A中元素按离中元素按离0 0近的方向取整近的方向取整【例【例2-452-45】矩阵元素取整示例。】矩阵元素取整示例。本讲稿第八十页,共一百二十六页(5 5)矩阵的有理数形式)矩阵的有
50、理数形式命令格式:命令格式:n,d=rat(A)%n,d=rat(A)%将将A A表示为两个整数矩阵相除,即表示为两个整数矩阵相除,即A=n./dA=n./d。【例【例2-462-46】对于上例中的】对于上例中的A A,求矩阵的有,求矩阵的有理数形式。理数形式。本讲稿第八十一页,共一百二十六页(6 6)矩阵元素的余数)矩阵元素的余数命令格式:命令格式:C=rem(A,x)%C=rem(A,x)%表示表示A A矩阵除以模数矩阵除以模数x x后的余数。若后的余数。若x=0 x=0,则定义,则定义rem(A,0)=NaNrem(A,0)=NaN,%若若x0 x0,则整数部分由,则整数部分由fix(A