第4讲:向量和矩阵_第1页
第4讲:向量和矩阵_第2页
第4讲:向量和矩阵_第3页
第4讲:向量和矩阵_第4页
第4讲:向量和矩阵_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四讲第四讲 向量和矩阵向量和矩阵 2 n本讲教学目标本讲教学目标 掌握向量和矩阵的创建方法掌握向量和矩阵的创建方法 掌握向量和矩阵的运算掌握向量和矩阵的运算 区分矩阵和数组的差别区分矩阵和数组的差别 学会如何使用向量运算和矩阵运算函数学会如何使用向量运算和矩阵运算函数 掌握特殊矩阵的生成和稀疏型矩阵掌握特殊矩阵的生成和稀疏型矩阵 了解稀疏型矩阵和满矩阵的相互转换了解稀疏型矩阵和满矩阵的相互转换 3 n4.1 向量的创建方法向量的创建方法 向量的创建方法和一维数组类似。向量的创建方法和一维数组类似。 1)在命令窗口中直接输入向量)在命令窗口中直接输入向量 向量元素用向量元素用“ ”括起来,元素

2、之间用空格、逗号或者括起来,元素之间用空格、逗号或者 分号相隔。分号相隔。 注意:用空格或逗号生成行向量;用分号生成列向量。注意:用空格或逗号生成行向量;用分号生成列向量。 例例1: a2=15,21,27,93,101 a2 = 15 21 27 93 101 a1=15;21;27;93;101; a1 = 15 21 27 93 101 4 n2)用冒号和函数来生成等差用冒号和函数来生成等差/等比元素向量。等比元素向量。 linspace/logspace 函数函数 例例2:生成等差向量。:生成等差向量。 vec1=10:5:60 vec1 = 10 15 20 25 30 35 40

3、45 50 55 60 vec2=linspace (10,60,11) vec2 = 10 15 20 25 30 35 40 45 50 55 60 5 n4.2 向量运算向量运算 1)向量与数的四则运算向量与数的四则运算 n加、减法:向量中每个元素与数的加、减法运算。加、减法:向量中每个元素与数的加、减法运算。 n乘、除法:向量中每个元素与数的乘、除法运算。乘、除法:向量中每个元素与数的乘、除法运算。 例例3: vec1=80:-9:10 vec1 = 80 71 62 53 44 35 26 17 vec1+101 ans = 181 172 163 154 145 136 127 1

4、18 6 n2)向量与向量之间的加减运算)向量与向量之间的加减运算 向量中的每个元素与另一个向量中相对应的元素的加、向量中的每个元素与另一个向量中相对应的元素的加、 减法运算。减法运算。 例例4: vec1=linspace(200,500,7) vec2=linspace(900,600,7) vec3=vec1+vec2 vec3 = Columns 1 through 5 1100 1100 1100 1100 1100 Columns 6 through 7 1100 1100 7 n3)点积、叉积和混合积)点积、叉积和混合积 两个向量的点积等于其中一个向量的模与另一两个向量的点积等于

5、其中一个向量的模与另一 个向量在这个向量的方向上的投影的乘积。个向量在这个向量的方向上的投影的乘积。 叉积的几何意义是指过两个相交向量的交点,叉积的几何意义是指过两个相交向量的交点, 并与此两向量所在平面垂直的向量。并与此两向量所在平面垂直的向量。 向量的混合积的几何意义是它的绝对值表示以向量的混合积的几何意义是它的绝对值表示以 向量为棱的平行六面体的体积。向量为棱的平行六面体的体积。 8 n例例5-1:点积运算点积运算 x1=11 22 33 44; x2=1,2,3,4; a=dot(x1,x2) a = 330 sum(x1.*x2) ans = 330 n例例5-2:叉积运算叉积运算

6、x1=11 22 33 x1 = 11 22 33 x2=1 2 3 x2 = 1 2 3 x3=cross(x1,x2) x3 = 0 0 0 9 n4.3 矩阵的创建方法矩阵的创建方法 a.直接输入直接输入 n矩阵以矩阵以“ ”为首尾,行与行之间用分号为首尾,行与行之间用分号“;”或按回或按回 车键;每行中的元素用逗号车键;每行中的元素用逗号“,”或空格分隔;当矩或空格分隔;当矩 阵中没有任何元素时,该矩阵被称作阵中没有任何元素时,该矩阵被称作“空阵空阵”。 例例6: A=1,sqrt(25),9,13 2,6,10,7*2 3+sin(pi),7,11,15 4,abs(-8),12,1

7、6 n B=1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16 nA = 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 nB = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 10 nb.利用内部函数产生矩阵利用内部函数产生矩阵 % ones 生成全部元素为生成全部元素为 1 的矩阵的矩阵 n例例7-1: F=5*ones(3) nF = 5 5 5 5 5 5 5 5 5 % zeros 生成全部元素为生成全部元素为0的矩阵的矩阵 n例例7-2: Z=zeros(2,4) nZ = 0 0 0 0 0

8、0 0 0 11 nc.利用利用M文件产生矩阵文件产生矩阵 (1) 启动有关编辑程序或启动有关编辑程序或 MATLAB 文本编辑文本编辑 器,并输入待建矩阵器,并输入待建矩阵; (2) 把输入的内容以纯文本方式存盘把输入的内容以纯文本方式存盘(设文件名设文件名 为为mymatrix.m); (3) 在在 MATLAB 命令窗口中输入命令窗口中输入mymatrix, 即运行该即运行该M文件,就会自动建立一个矩阵,可文件,就会自动建立一个矩阵,可 供以后使用。供以后使用。 12 nd.从外部数据文件调入矩阵从外部数据文件调入矩阵 用用load命令输入命令输入 用用Import 菜单输入菜单输入 1

9、3 n4.4 矩阵的操作矩阵的操作 4.4.1 矩阵元素的引用和修改矩阵元素的引用和修改 n在在MATLAB中,矩阵元素按列存储,先第一列,再中,矩阵元素按列存储,先第一列,再 第二列,依次类推。第二列,依次类推。 n1)通过下标引用矩阵的元素)通过下标引用矩阵的元素 n2)矩阵元素的序号来引用矩阵元素)矩阵元素的序号来引用矩阵元素 例例8:A=1,2,3;4,5,6; n引用:引用:A(3) = 2, A(1,2) = 2 n修改:修改:A(3) = 9 或或 A(1,2) = 9 对对mn矩阵矩阵A,元素,元素A(i,j)序号为序号为(j-1)*m+i。 14 n4.4.2 利用空矩阵删除

10、矩阵的元素利用空矩阵删除矩阵的元素 在在MATLAB中,定义中,定义 为空矩阵。为空矩阵。 给变量给变量X赋空矩阵的语句为赋空矩阵的语句为X = 。 注意:注意:X= 与与clear X不同。不同。 nclear是将是将X从工作空间中删除,从工作空间中删除, n而空矩阵则存在于工作空间中,只是维数为而空矩阵则存在于工作空间中,只是维数为0。 15 n4.4.3 利用冒号表达式获得子矩阵利用冒号表达式获得子矩阵 获得某行或某列获得某行或某列 nA(:,j) 取取A矩阵第矩阵第j列的全部元素列的全部元素 nA(i,:) 取取A矩阵第矩阵第i行的全部元素行的全部元素 获得子矩阵获得子矩阵 nA(i:

11、i+m,:) 取矩阵第取矩阵第ii+m行的全部元素行的全部元素 nA(:,k:k+m) 取矩阵第取矩阵第kk+m列的全部元素列的全部元素 nA(i:i+m,k:k+m) 取矩阵第取矩阵第ii+m行内,并在第行内,并在第 kk+m列中的所有元素列中的所有元素 n利用一般向量和利用一般向量和 end 运算符,运算符,end 表示某一维的末表示某一维的末 尾元素下标。尾元素下标。 16 n4.5 矩阵的运算矩阵的运算 矩阵运算遵循线性代数中基本的运算法则:矩阵运算遵循线性代数中基本的运算法则: n加减运算必须在具有相同行列的矩阵之间进行;加减运算必须在具有相同行列的矩阵之间进行; n只有当矩阵只有当

12、矩阵 A 的列数和矩阵的列数和矩阵 B 的行数相同时,才可的行数相同时,才可 进行矩阵进行矩阵 A 和和 B 的乘法运算;的乘法运算; n乘方运算只有在矩阵为方阵时才有意义;乘方运算只有在矩阵为方阵时才有意义; n当一个矩阵和一个标量(当一个矩阵和一个标量(11的矩阵)进行运算时,的矩阵)进行运算时, 其结果将是此标量和矩阵中的每一个元素其结果将是此标量和矩阵中的每一个元素“ 相加相加”、 “ 相减相减”、“ 相乘相乘”、“ 相除相除”; n矩阵有两种除法运算:左除和右除。矩阵有两种除法运算:左除和右除。 17 n矩阵的除法矩阵的除法 左除和右除,分别表示为左除和右除,分别表示为 和和 /。

13、n若若A矩阵是非奇异方阵,则矩阵是非奇异方阵,则AB和和B/A可以实现。可以实现。 nAB = inv(A)*B,B/A = B*inv(A)。 例例9: A = 8,1,6;3,5,7;4,9,2; B = 1,1,1;1,2,3;1,3,6; AB C = inv(A)*B A/B D = A*inv(B) nans = 0.0667 0.0500 0.0972 0.0667 0.3000 0.6389 0.0667 0.0500 -0.0694 nC = 0.0667 0.0500 0.0972 0.0667 0.3000 0.6389 0.0667 0.0500 -0.0694 nan

14、s = 27 -31 12 1 2 0 -13 29 -12 nD = 27 -31 12 1 2 0 -13 29 -12 18 n4.5.1 矩阵运算和数组运算比较矩阵运算和数组运算比较 矩阵运算和数组运算有着显著的不同,属于两矩阵运算和数组运算有着显著的不同,属于两 种不同的运算。种不同的运算。 n矩阵运算是从矩阵的整体出发,按照线性代数的运矩阵运算是从矩阵的整体出发,按照线性代数的运 算规则进行,有着明确而严格的数学规则;算规则进行,有着明确而严格的数学规则; n而数组运算是从矩阵的单个元素出发,针对每个元而数组运算是从矩阵的单个元素出发,针对每个元 素进行的运算。素进行的运算。 对于

15、加法和减法而言,矩阵运算和数组运算相对于加法和减法而言,矩阵运算和数组运算相 同;对于乘法和除法而言,矩阵和数组的运算同;对于乘法和除法而言,矩阵和数组的运算 有着显著的不同。有着显著的不同。 19 n4.5.2 常用矩阵运算函数常用矩阵运算函数 矩阵分解函数矩阵分解函数 20 n4.6 特殊矩阵生成特殊矩阵生成 21 n4.7 稀疏矩阵稀疏矩阵 在实际应用中,往往会遇到只有少数非在实际应用中,往往会遇到只有少数非 0 元素元素 的矩阵,我们称这些矩阵为稀疏矩阵。的矩阵,我们称这些矩阵为稀疏矩阵。 为有效的存储和处理稀疏矩阵,为有效的存储和处理稀疏矩阵,MATLAB采用采用 了一些优化技术:了

16、一些优化技术:MATLAB中只存储稀疏矩阵中只存储稀疏矩阵 中的非中的非 0 元素,并用行索引和列索引表明每个元素,并用行索引和列索引表明每个 非非 0 元素在原矩阵中的位置;同样,元素在原矩阵中的位置;同样,MATLAB 中采用了一些专门的算法来处理稀疏矩阵,以中采用了一些专门的算法来处理稀疏矩阵,以 避免对避免对 0 元素的运算,并且最大限度地减少中元素的运算,并且最大限度地减少中 间结果中的非间结果中的非 0 元素。元素。 22 n4.7.1 稀疏矩阵的生成稀疏矩阵的生成 MATLAB不会自动生成稀疏矩阵,必须利用相不会自动生成稀疏矩阵,必须利用相 关函数生成稀疏矩阵。关函数生成稀疏矩阵

17、。 用于生成稀疏矩阵的函数如下表所示。用于生成稀疏矩阵的函数如下表所示。 23 n例例10:稀疏矩阵的生成稀疏矩阵的生成 A=eye(5) speye(size(A) ans = (1,1) 1 (2,2) 1 (3,3) 1 (4,4) 1 (5,5) 1 nA = 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 24 n4.7.2 稀疏矩阵与满矩阵的相互转化稀疏矩阵与满矩阵的相互转化 MATLAB提供了一些函数用于在稀疏矩阵和满提供了一些函数用于在稀疏矩阵和满 矩阵之间进行转换,这些函数如下表所示。矩阵之间进行转换,这些函数如下表所示。

18、25 n例例11:稀疏矩阵与满矩阵之间的转化稀疏矩阵与满矩阵之间的转化 S(10,50)=82; S(32,14)=82; S(251,396)=25; I=find(S) 生成生成S中非零元素的位置中非零元素的位置 I = 3295 12309 99396 26 n4.7.3 稀疏矩阵的操作稀疏矩阵的操作 大部分数学函数可用于稀疏矩阵,另外还有一大部分数学函数可用于稀疏矩阵,另外还有一 些专门应用于稀疏矩阵的函数,如下表。些专门应用于稀疏矩阵的函数,如下表。 27 n例例12:稀疏矩阵的操作稀疏矩阵的操作 v= 6 2 7 8 ; S=diag(v,1); R=sparse(S); N=issparse(S) N = 0 Y=issparse(R) Y = 1 28 n4.7.4 矩阵运算和数组运算比较矩阵运算和数组运算比较 矩阵运算和数组运算有着显著的不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论