《矩阵运算的基础》PPT课件.ppt_第1页
《矩阵运算的基础》PPT课件.ppt_第2页
《矩阵运算的基础》PPT课件.ppt_第3页
《矩阵运算的基础》PPT课件.ppt_第4页
《矩阵运算的基础》PPT课件.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

第二章 矩阵运算的基础,MATLAB提供了一种计算机高级编程语言M语言 MATLAB提供了不同类型的数据 MATLAB专门以矩阵作为基本的运算单位 MATLAB提供了关于数组和矩阵不同的运算方法,一.概述,在M语言中最常用的数据类型表现手段和形式就是变量和常量 M语言的基本处理单位是数值矩阵或者数值向量 回顾有关概念 变量和常量 数组 向量 矩阵,变量和常量 变量:程序运行过程中需要改变数值的量 每一个变量都具有一个名字 变量在内存中占据一定的空间 变量必须以字母开头,后面可以是字母、数字或者下划线的组合 MATLAB仅识别前面N个字符,在不同的操作系统下可以识别的字符个数不同 常量:在程序运行的过程中不需要改变数值的量 常量具有名字 在M语言中不存在常量的定义,只在MATLAB中提供一些常用的常数作为常量,数组 是有序数据的集合 数组的每一个成员(元素)都属于同一种数据类型,它们使用同一个数组名称和不同的下标来唯一确定数组中的成员(元素)。 在MATLAB中元胞数组比较特殊,数组中的元素可以是不同的数据类型。,向量 从编程语言的角度上看,向量其实就是一维数组 从数学的角度上看,向量就是1N或者N1的矩阵,即行向量或列向量 b1,1 b2,1 B= b3,1 和B=b1,1 b1,2 b1,3 b1,n bn,1,矩阵 是用一对圆括号或方括号括起来,符合一定规则的数学对象 b11 b12 b13 B= b21 b22 b23 b31 b32 b33 对于编程语言,矩阵就是二维的数组,二.矩阵和向量创建,1.向量的创建 (1) 在命令窗口逐个输入元素 X= 1 3 pi 3+5i (2) 利用冒号运算符创建向量 X=J:INC:K J为向量的第一个元素,K为向量的最后一个元素,INC为向量元素递增的步长 J、INC、K之间必须用“:”间隔 若忽略INC,则默认的递增步长为1 INC可以为正数,也可以为负数 X=1:10 X=1:0.01:1.1,(3)定数线性采样法:在设定的“总点数”下,均匀采 样生成向量(一维“行”数组) 使用函数linspace 和logspace linspace是用来创建线性间隔向量的函数 linspace 的基本语法 X=linespace(X1,X2,n) X1为向量的第一个元素,X2为向量的最后一个元素,n为向量具有的元素个数,函数将根据n的数值平均计算元素之间的间隔,间隔计算公式为 若在表达式中忽略参数n,则系统默认地将向量设置为100个元素,使用linspace函数创建向量 X=linspace(1,2,5) X= 1.0000 1.2500 1.5000 1.7500 2.0000,logspace是用来创建对数空间的向量 logspace 的基本语法 X=logspace(X1,X2,n) 该函数创建的向量第一个元素值为10X1,而最后一个元素的数值为10X2,n为向量的元素个数,元素彼此之间的间隔按照对数空间的间隔设置 若在表达式中忽略参数n,则系统默认地将向量设置为50个元素,例使用logspace函数创建向量 X=logspace(1,3,3) X= 10 100 1000,创建列向量 使用分号作为元素与元素之间的间隔 使用转置运算符“ ” 例2-6: A=1;2;3;4;5;6 或 A=(1:6) ,2.创建矩阵 矩阵的元素可以为任意MATLAB数据类型的数值或对象 创建矩阵的方法 直接输入法 使用数组编辑器,(1 )直接输入法 规则: 整个矩阵的元素必须用 括住 同一行的矩阵元素之间必须用逗号或空格分隔 在 内矩阵的行与行之间必须用分号分隔,也可以在需要分行的地方用回车键间隔 矩阵元素可以是任何MATLAB表达式 ,可以是实数 ,也可以是复数,复数用i,j 输入 例2-7: A = 1,2,3 ; 4,5,6;7,8,9 X = 2 pi/2 ; sqrt(3) 3+5i ,逗号和分号的作用 逗号和分号可作为指令间的分隔符,MATLAB允许多条语句在同一行出现。 分号如果出现在指令后,屏幕上将不显示结果。 只要是赋过值的变量,不管是否在屏幕上显示过,都会存储在工作空间中,以后可随时显示或调用。变量名尽可能不要重复,否则会覆盖 。 例2-8: A = 1,2,3;4,5,6;7,8,9,X= 2 pi/2;sqrt(3) 3+5i ? A = 1,2,3;4,5,6;7,8,9;X= 2 pi/2;sqrt(3) 3+5i ?,例: A = 1,2,3;4,5,6;7,8,9,X= 2 pi/2;sqrt(3) 3+5i A = 1 2 3 4 5 6 7 8 9 X = 2.0000 1.5708 1.7321 3.0000 + 5.0000i A = 1,2,3;4,5,6;7,8,9;X= 2 pi/2;sqrt(3) 3+5i X = 2.0000 1.5708 1.7321 3.0000 + 5.0000i,冒号的作用 用于生成等间隔的向量,默认间隔为1。 例2-9: y = 1:3;4:6;7:9,矩阵的基本运算 函数 基本数学运算规则 数组的运算 运算函数 运算指令,三.基本运算,矩阵生成函数示例 A=zeros(3) A = 0 0 0 0 0 0 0 0 0 A=ones(3) A = 1 1 1 1 1 1 1 1 1, A=eye(3) A = 1 0 0 0 1 0 0 0 1 A=rand(3) A = 0.9501 0.4860 0.4565 0.2311 0.8913 0.0185 0.6068 0.7621 0.8214, A=randn(3) A = -0.4326 0.2877 1.1892 -1.6656 -1.1465 -0.0376 0.1253 1.1909 0.3273,矩阵生成函数示例 A=magic(3) A = 8 1 6 3 5 7 (15) 4 9 2 A=magic(4) A = 16 2 3 13 5 11 10 8 (34) 9 7 6 12 4 14 15 1,基本矩阵运算,1. 矩阵加、减运算 (AB、AB) 规则: 相加、减的两矩阵必须有相同的行和列,两矩阵对应元素相加减。 MATLAB允许参与运算的两矩阵之一是标量,标量与矩阵的所有元素分别进行加减操作。 例:A=1 2 3;4 5 6 B=3 4 5;7 8 9 C=3 A+B=4 6 8;11 13 15 A+C=4 5 6;7 8 9 B+C=6 7 8;10 11 12,2.矩阵乘运算 A*B:A矩阵的列数必须等于B矩阵的行数。 s*A 或 A*s:标量可与任何矩阵相乘,标量s分别与矩阵A每个元素相乘。 例: A = 1 2 3; 4 5 6; 7 8 0 ; B= 1; 2; 3 ; C = A*B C = 14 32 23 D = -1; 0; 2 ; F = pi*D F = -3.1416 0 6.2832,基本矩阵运算(续),3. 矩阵除运算及线性方程组的解 在线性代数中没有矩阵的除运算,只有矩阵逆的运算,在MATLAB中有两种矩阵除运算。 A/B 矩阵右除,相当于 Ainv(B) AB 矩阵左除,相当于 inv(A)B 因此,x = AB 是线性方程组Ax=B的解。 例:求解方程组 3x1 + x2 - x3 = 3.6 x1 + 2x2 + 4x3 = 2.1 -x1 + 4x2 + 5x3 = -1.4 A = 3 1 -1 ; 1 2 4 ; -1 4 5 ; B = 3.6 ; 2.1 ; -1.4 ; x = AB x = 1.4818 -0.4606 0.3848,基本矩阵运算(续),4.矩阵乘方 An A自乘n次幂 例 a = 1, 2, 3 ; 4, 5, 6 ; 7, 8, 9 ; a2 ans = 30 36 42 66 81 96 102 126 150,基本矩阵运算(续),数组运算指元素对元素的算术运算,与通常意义上的由符号表示的线性代数矩阵运算不同。 1. 数组加减(+ ,-)运算 规则: 相加、减的两数组必须有相同的行和列,两数组对应元素相加减。 MATLAB允许参与运算的两数组之一是标量,标量与数组的所有元素分别进行加减操作 A+B A- B,基本数组(元素群)运算,与矩阵加减运算等效,数组之一也可为标量。,2. 数组乘 () 运算 AB A,B两数组必须有相同的行和列,两数组相应元素相乘。 sA 或 As 标量与数组相乘,标量s分别与数组A每个元素相乘,与 sA 或 As 相同。 例16:A = 1 2 3; 4 5 6; 7 8 9 ; B = 2 4 6; 1 3 5; 7 9 10 ; A.*B ans = 2 8 18 4 15 30 49 72 90,A = 1 2 3; 4 5 6; 7 8 9 ; B = 2 4 6; 1 3 5; 7 9 10 ; A*B ans = 25 37 46 55 85 109 85 133 172,3. 数组除(/ , )运算 C=A./B 数组右除 C(i,j) = A(i,j)/B(i,j) C=A.B 数组左除 C(i,j) = B(i,j)/A(i,j) A./ B=B. A A./s = s.A A的元素分别被标量s除 s./A = A.s 标量s分别被A的元素除 例:A = 1 2 3 ; B = 4 5 6 ; C1 = A./B C1 = 0.2500 0.4000 0.5000 C2 = B.A C2 = 0.2500 0.4000 0.5000 C3 = A.B C3 = 4.0000 2.5000 2.0000, A = 1 2 3 ; B = 4 5 6 ; A/B ans = 0.4156 AB ans = 0 0 0 0 0 0 1.3333 1.6667 2.0000,4. 数组乘方(.) A.n A的每个元素自乘n次 A.p 对A各元素分别求非整数幂 p.A 以p为底,分别以A的元素为指数求幂值 C = A.B 元素对元素的幂 C(i,j) = A(i,j) . B(i,j) 例:A = 1 2 3 ; B = 4 5 6 ; X = A.2 X = 1.00 4.00 9.00 Y=A.0.5 Y = 1.0000 1.4142 1.7321,C = 3.B Y = 81.00 243.00 729.00 34 35 36 Z = A.B Z = 1.00 32.00 729.00 14 25 36,5. 数组转置(.) 例: A=1 3 5;2 4 6 A = 1 3 5 2 4 6 A ans = 1 2 3 4 5 6 A. ans = 1 2 3 4 5 6,结论:对于实数矩阵,矩阵转置和数组转置的计算结果是一致的。,例: A=A*i A = 0 + 1.0000i 0 + 3.0000i 0 + 5.0000i 0 + 2.0000i 0 + 4.0000i 0 + 6.0000i A ans = 0 - 1.0000i 0 - 2.0000i 0 - 3.0000i 0 - 4.0000i 0 - 5.0000i 0 - 6.0000i A. ans = 0 + 1.0000i 0 + 2.0000i 0 + 3.0000i 0 + 4.0000i 0 + 5.0000i 0 + 6.0000i,结论:对于复数矩阵,矩阵转置和数组转置的计算结果不一致。 矩阵转置运算共轭转置 数组转置运算非共轭转置,函数的主要类别 三角函数 指数运算函数 复数运算函数 圆整

温馨提示

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

评论

0/150

提交评论