第2章数组、矩阵及其运算.ppt
《第2章数组、矩阵及其运算.ppt》由会员分享,可在线阅读,更多相关《第2章数组、矩阵及其运算.ppt(126页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第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;log(5);7+2;23 D1=pi;log(5);7+2;23D1=D1
3、=3.1416 3.1416 1.6094 1.6094 9.0000 9.0000 8.0000 8.0000(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:stepstep:b b。其中其中a a表示数组的第一个元素;表示数组的第一个元素;setpsetp表示数组的表示数组的间隔,即步长;间隔,即步长;b b表示数组的最后一个元素。表示数组的最后一
4、个元素。如果省略如果省略stepstep,默认值为,默认值为1 1;如果;如果stepstep是正数,是正数,必须满足必须满足ababab。D3=1:2:10 D3=1:2:10D3=D3=1 3 5 7 9 1 3 5 7 9 D4=1:10 D4=1:10D4=D4=1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 102 2步长生成法步长生成法 在设定了总个数的条件下,均匀采样分布在设定了总个数的条件下,均匀采样分布生成一维行数组。采用通用格式:生成一维行数组。采用通用格式:x xlinspace(a,b,n)linspace(a,b,n)D5=linspac
5、e(1,10,5)D5=linspace(1,10,5)D5=D5=1.000 3.2500 5.5000 7.7500 10.0000 1.000 3.2500 5.5000 7.7500 10.00003 3定数线性采样法定数线性采样法 在设定了总个数的条件下,经过在设定了总个数的条件下,经过“常用对常用对数数”采样生成一维行数组。采样生成一维行数组。采用通用格式采用通用格式x xlogspace(a,b,n)logspace(a,b,n),其中,其中a a、b b分别是数组的第一个和最后一个元素,分别是数组的第一个和最后一个元素,n n表示表示个数。个数。D6=logspace(1,2,
6、10)D6=logspace(1,2,10)D6=D6=10.0000 12.9155 16.6810 21.5443 10.0000 12.9155 16.6810 21.5443 27.8256 35.9381 46.4159 59.9484 27.8256 35.9381 46.4159 59.9484 77.4264 100.000077.4264 100.00004 4定数对数采样法定数对数采样法1 1子数组的寻访子数组的寻访rand(state,0)rand(state,0)%把均匀分布伪随机发生器置把均匀分布伪随机发生器置为为0 0状态。状态。x=rand(1,5)x=rand(
7、1,5)%产生(产生(1515)的均布随机数)的均布随机数组。组。x=x=0.9501 0.2311 0.6068 0.4860 0.9501 0.2311 0.6068 0.4860 0.8913 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 0 0.4860 0.
8、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】创建二维数组。】创建二维数组。a=2.7358;b=33/79;a=2.7358;b=33/79;C=1,2*a+i*b,b*squrt(a);sin(pi/4),a+5*C=1,2*a+i*b,b*squrt(a);sin(p
9、i/4),a+5*b,3.5+ib,3.5+i【例【例2-22-2】复数数组的另一种输入方式。】复数数组的另一种输入方式。2.1.3 二维数组(矩阵)的创建二维数组(矩阵)的创建 2 2采用采用MATLABMATLAB中产生矩阵的内部中产生矩阵的内部函数命令创建二维数组函数命令创建二维数组表表表表2-12-1 MATLABMATLAB内部函数内部函数内部函数内部函数产产产产生矩生矩生矩生矩阵阵阵阵命令表命令表命令表命令表函 数功 能函 数功 能compan伴随阵 zeros元素全为0的矩阵 diag对角阵 ones元素全为1的矩阵 magic魔方矩阵 rand元素服从均匀分布的随机矩阵 lin
10、space线性空间向量 randn元素服从正态分布的随机矩阵 logspace对数空间向量 eye对角线上元素为1的矩阵(单位矩阵)找到满足某一条件的矩阵元素称为矩阵元找到满足某一条件的矩阵元素称为矩阵元素的标识。素的标识。【例【例2-32-3】找出数组】找出数组A A中所有绝对值大于中所有绝对值大于3 3的元素。的元素。2.1.4 矩阵元素的标识矩阵元素的标识 矩阵的赋值可以采用全元素、单下标、双矩阵的赋值可以采用全元素、单下标、双下标等方式。下标等方式。【例【例2-42-4】不同赋值方式示例。】不同赋值方式示例。2.1.5 矩阵的寻访和赋值矩阵的寻访和赋值2.2.1 pow2函数函数2.2
11、.2 加、减运算加、减运算2.2.3 乘法乘法2.2.4 集合运算集合运算2.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 加、减运
12、算加、减运算 乘法运算符为乘法运算符为“*”“*”。运算规则和线性代。运算规则和线性代数中矩阵乘法运算相同,即放在前面的矩阵的数中矩阵乘法运算相同,即放在前面的矩阵的各行元素,分别与放在后面的矩阵的各列元素各行元素,分别与放在后面的矩阵的各列元素对应相乘并相加。对应相乘并相加。1 1两个矩阵相乘两个矩阵相乘 【例【例2-72-7】矩阵相乘示例。】矩阵相乘示例。2 2矩阵的数乘:数乘矩阵矩阵的数乘:数乘矩阵 【例【例2-82-8】矩阵的数乘示例。】矩阵的数乘示例。2.2.3 乘法乘法 维数相同的两个向量的点乘;维数相同的两个向量的点乘;A A.*.*B B表示表示A A与与B B对应元素相乘。对
13、应元素相乘。【例【例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向量点积向量点积 在数学上,两向量的叉乘是一个过两相交在数学上,两向量的叉乘是一个过两相交向量的交点且垂直于两向量
14、所在平面的向量。向量的交点且垂直于两向量所在平面的向量。crosscross用来实现求解向量叉乘。用来实现求解向量叉乘。命令格式:命令格式:C=cross(A,B)C=cross(A,B)【例【例2-112-11】计算垂直于向量(】计算垂直于向量(1,2,1,2,3 3)和()和(4,5,64,5,6)的向量。)的向量。5 5向量叉乘向量叉乘 【例例2-122-12】计计算算向向量量a a=(1,=(1,2,2,3)3)、b b=(4,=(4,5,6)5,6)和和c c=(-3,6,-3)=(-3,6,-3)的混合积。的混合积。6 6混合积混合积 命令格式:命令格式:w=conv(u,v)%u
15、w=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,返回,返回商多项式商多项式q q和余多项式和余多项式r r。【例【例2-142-14】计算多项式的】计算多项式的 卷积。卷积。8 8反褶积(解卷)和多项式除法运算反褶积(解卷)和多项式除法运算命令格式:命
16、令格式: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)%返回向量返回向量a a、b b的的公共部分,即公共部分,即c=abc=ab。c=intersect(A,B,rows)c=intersect(A,B,rows)%A%A、B B为为相同列数相同列数的矩的矩阵阵,返回元素相同的行。,返回元素相同的行。c,ia
17、,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 集合运算集合运算命令格式:命令格式: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
18、)%A%A、S S有相同的列,行相有相同的列,行相同同k k取取1 1,不相同取,不相同取0 0,同时结果为取值的列向量。,同时结果为取值的列向量。【例【例2-172-17】检测集合中的元素示例。】检测集合中的元素示例。2 2检测集合中的元素检测集合中的元素命令格式:命令格式:c=setdiff(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=setdif
19、f()c,i=setdiff()%c%c与前面一致,与前面一致,i i表示表示c c中元素在中元素在A A中的位置。中的位置。【例【例2-182-18】两集合的差示例。】两集合的差示例。3 3两集合的差两集合的差命令格式:命令格式:c=setxor(a,b)%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()%iac,ia,ib=setxor()%ia、ibib表示表示c
20、c中元素分别中元素分别在在a(a(或或A)A)、b(b(或或B)B)中位置。中位置。【例【例2-192-19】两个集合交集的非示例。】两个集合交集的非示例。4 4两个集合交集的非(异或)两个集合交集的非(异或)命令格式:命令格式:c=union(a,b)c=union(a,b)%返回返回a a、b b的并集,即的并集,即c c=ab=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中行中行向
21、量在原矩阵向量在原矩阵(向量向量)中的位置。中的位置。【例【例2-202-20】两集合的并集示例。】两集合的并集示例。5 5两集合的并集两集合的并集命令格式:命令格式:b=unique(a)b=unique(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】取集合的单值
22、元素。】取集合的单值元素。6 6取集合的单值元素取集合的单值元素 MATLAB MATLAB提供了两种除法运算:左除(提供了两种除法运算:左除()和右除(和右除(/)。)。一般情况下,一般情况下,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次方,
23、即次方,即A A自乘自乘P P次;次;P P为小于为小于0 0的的整数时,整数时,A A P P表示表示A A-1-1的的P P次方。次方。2.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
24、.A A,标量的数组乘方,标量的数组乘方定义为定义为 ;数组乘;数组乘方方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。命令格式:命令格式:F=funm(A,fun)F=funm(A,fun)%A%A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数组 矩阵 及其 运算
限制150内