矩阵、数组和符号运算ppt课件_第1页
矩阵、数组和符号运算ppt课件_第2页
矩阵、数组和符号运算ppt课件_第3页
矩阵、数组和符号运算ppt课件_第4页
矩阵、数组和符号运算ppt课件_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、2.3 矩阵、数组和符号运算矩阵、数组和符号运算一、矩阵和数组运算一、矩阵和数组运算 要求内容:要求内容: 1熟练掌握矩阵的创建。熟练掌握矩阵的创建。 2掌握矩阵运算和数组运算。掌握矩阵运算和数组运算。 3学会如何运用矩阵运算函数和数组运算函学会如何运用矩阵运算函数和数组运算函数。数。 4留意区分矩阵和数组的差别,特别是运算留意区分矩阵和数组的差别,特别是运算符的差别。符的差别。 6了解多项式的创建方法和根本运算。了解多项式的创建方法和根本运算。MATLAB 以矩阵为根本的运算单元,向量和标量作为以矩阵为根本的运算单元,向量和标量作为特殊的矩阵处置:向量看作只需一行或一列的矩阵;特殊的矩阵处置

2、:向量看作只需一行或一列的矩阵;标量看作只需一个元素的矩阵。标量看作只需一个元素的矩阵。1、 矩阵的构造矩阵的构造a.直接输入直接输入b.利用内部函数产生矩阵利用内部函数产生矩阵c.利用利用M文件产生矩阵文件产生矩阵d.从外部数据文件调入矩阵从外部数据文件调入矩阵2.3 矩阵、数组和符号运算矩阵、数组和符号运算2.3 矩阵、数组和符号运算矩阵、数组和符号运算a. 直接输入直接输入直接输入需遵照以下根本规那么:直接输入需遵照以下根本规那么:整个矩阵应以整个矩阵应以“ 为首尾,即整个输入矩阵必需包含在为首尾,即整个输入矩阵必需包含在方括号中;方括号中; 矩阵中,行与行之间必需用分号矩阵中,行与行之

3、间必需用分号“ ;或;或 Enter 键键 按按 Enter 键符分隔;键符分隔; 每行中的元素用逗号每行中的元素用逗号“ ,或空格分隔;,或空格分隔; 矩阵中的元素可以是数字或表达式,但表达式中不可包矩阵中的元素可以是数字或表达式,但表达式中不可包含未知的变量,含未知的变量,MATLAB用表达式的值为该位置的矩阵用表达式的值为该位置的矩阵元素赋值。当矩阵中没有任何元素时,该矩阵被称作元素赋值。当矩阵中没有任何元素时,该矩阵被称作“ 空空阵阵 Empty Matrix。 A=1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16 A = 1 2 3 4 5 6 7 8 9

4、 10 11 1213 14 15 16利用表达式输入 B=1,sqrt(25),9,132,6,10,7*23+sin(pi),7,11,154,abs(-8),12,16B = 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 162.3 矩阵、数组和符号运算矩阵、数组和符号运算2.3 矩阵、数组和符号运算矩阵、数组和符号运算由向量构成矩阵由向量构成矩阵向量是组成矩阵的根本元素之一。向量元素需求用方括向量是组成矩阵的根本元素之一。向量元素需求用方括号括起来。元素之间用空格和逗号分隔生成行向量,用分号括起来。元素之间用空格和逗号分隔生成行向量,用分号隔开生成列向量。可以

5、把行向量看成号隔开生成列向量。可以把行向量看成1n 阶矩阵,把列阶矩阵,把列向量看成向量看成n1 阶矩阵。阶矩阵。向量的构造方法:向量的构造方法: 直接输入向量直接输入向量 利用冒号生成向量利用冒号生成向量 利用利用 linspace/logspace 生成向量生成向量 a=1,2,3,4; x=0:0.5:2;% x=logspace(a,b,n) 生成有生成有 n 个元素的行向量个元素的行向量 x,其元素,其元素起点起点 x(1)=10a,终点,终点 x(n)=10b。 b=logspace(0,2,4)b = 1.0000 4.6416 21.5443 100.0000 x x = 0

6、0.5000 1.0000 1.5000 2.0000% x=linspace(a,b,n) 生成有 n 个元素的行向量 x,其元素值在 a、b 之间线性分布。 y=linspace(0,2,7) y = 0 0.3333 0.6667 1.0000 1.3333 1.6667 2.0000 z=-1 x 3z = -1.0000 0 0.5000 1.0000 1.5000 2.0000 3.0000 u=y;zu = 0 0.3333 0.6667 1.0000 1.3333 1.6667 2.0000 -1.0000 0 0.5000 1.0000 1.5000 2.0000 3.000

7、02.3 矩阵、数组和符号运算矩阵、数组和符号运算2.3 矩阵、数组和符号运算矩阵、数组和符号运算b.利用内部函数产生矩阵利用内部函数产生矩阵%compan生成生成x向量的伴向量的伴随矩阵随矩阵 x=2,4,6,8,10 x = 2 4 6 8 10 compan(x)ans = -2 -3 -4 -5 -6 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0% eye 生成单位阵生成单位阵 S=eye(6) S = 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1% on

8、es 生成全部元素为生成全部元素为 1 的矩阵的矩阵 ones(3,4) ans = 1 1 1 1 1 1 1 1 1 1 1 1 F=5*ones(3)F = 5 5 5 5 5 5 5 5 5% zeros 生成全部元素为生成全部元素为0的矩阵的矩阵 Z=zeros(2,4)Z = 0 0 0 0 0 0 0 0% rand 生成均匀分布的随机矩阵生成均匀分布的随机矩阵 R=rand(4) R = 0.9501 0.8913 0.8214 0.9218 0.2311 0.7621 0.4447 0.7382 0.6068 0.4565 0.6154 0.1763 0.4860 0.018

9、5 0.7919 0.4057%生成空阵生成空阵 K= K = 2.3 矩阵、数组和符号运算矩阵、数组和符号运算c.利用利用M文件产生矩阵文件产生矩阵A=1,2,3,4,5 6,7,8,9,10 11,12,13,14,15 16,17,18,19,2021,22,23,24,252.3 矩阵、数组和符号运算矩阵、数组和符号运算d.从外部数据文件调入矩阵 用load命令输入 用Import 菜单输入2.3 矩阵、数组和符号运算矩阵、数组和符号运算2、矩阵元素的修正、矩阵元素的修正 A=1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16 A = 1 2 3 4 5 6

10、7 8 9 10 11 12 13 14 15 16 A(1,1)ans = 1 A(2,3)ans = 7 A(1,1)=0;A(2,2)=A(1,2)+A(2,1);A(4,4)=cos(0); AA = 0 2 3 4 5 7 7 8 9 10 11 12 13 14 15 12.3 矩阵、数组和符号运算矩阵、数组和符号运算3、矩阵的运算、矩阵的运算矩阵运算按照线性代数中根本的运算法那么进展;矩阵运算按照线性代数中根本的运算法那么进展;加减运算必需在具有一样行列的矩阵之间进展;加减运算必需在具有一样行列的矩阵之间进展;只需当矩阵只需当矩阵 A 的列数和矩阵的列数和矩阵 B 的行数一样时,

11、才可进的行数一样时,才可进展矩阵展矩阵 A 和和 B 的乘法运算;的乘法运算;乘方运算只需在矩阵为方阵时才有意义;乘方运算只需在矩阵为方阵时才有意义;当一个矩阵和一个标量当一个矩阵和一个标量 11 的矩阵进展运算时,的矩阵进展运算时,其结果将是此标量和矩阵中的每一个元素其结果将是此标量和矩阵中的每一个元素“ 相加、相加、“ 相减、相减、“ 相乘、相乘、“ 相除;相除;在在 MATLAB 中,矩阵左除和右除的含义不同。中,矩阵左除和右除的含义不同。2.3 矩阵、数组和符号运算矩阵、数组和符号运算a. 矩阵的加减运算矩阵的加减运算 A=1,2,3,4;5,6,7,8;9,10,11,12;13,1

12、4,15,16 B=1,sqrt(25),9,132,6,10 7*23+sin(pi),7,11,154,abs(-8),12,16 C=A+B C = 2 7 12 17 7 12 17 22 12 17 22 27 17 22 27 32 D=A-BD = 0 -3 -6 -9 3 0 -3 -6 6 3 0 -3 9 6 3 0 E=A+3 E = 4 5 6 7 8 9 10 11 12 13 14 1516 17 18 192.3 矩阵、数组和符号运算矩阵、数组和符号运算b. 矩阵乘法矩阵乘法 C=A*BC = 30 70 110 150 70 174 278 382 110 27

13、8 446 614 150 382 614 846 D=A*3D = 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48c. 矩阵除法矩阵除法左除左除 AB=inv(A)*B A=8,1,6;3,5,7;4,9,2A = 8 1 6 3 5 7 4 9 2 B=1,1,1;1,2,3;1,3,6 B = 1 1 1 1 2 3 1 3 6 ABans = 0.0667 0.0500 0.0972 0.0667 0.3000 0.6389 0.0667 0.0500 -0.0694 C=inv(A)C = 0.1472 -0.1444 0.0639 -0.0

14、611 0.0222 0.1056 -0.0194 0.1889 -0.1028 C*B ans = 0.0667 0.0500 0.0972 0.0667 0.3000 0.6389 0.0667 0.0500 -0.0694右除右除 A/B =A*inv(B) A/Bans = 27 -31 12 1 2 0 -13 29 -12 D=inv(B) D = 3 -3 1 -3 5 -2 1 -2 1 A*Dans = 27 -31 12 1 2 0 -13 29 -122.3 矩阵、数组和符号运算矩阵、数组和符号运算当对矩阵作除法运算时,有能够由于误差设置的差别导致不准确的结当对矩阵作除法

15、运算时,有能够由于误差设置的差别导致不准确的结果,此时,果,此时,MATLAB 会自动给出警告信息会自动给出警告信息:MATLAB 采用采用 IEEE 国际认可的算法,即使国际认可的算法,即使 A 为奇特阵为奇特阵 即即 A 的的行列式值是行列式值是0,运算也照样进展,但是此时,运算也照样进展,但是此时 MATLAB 将给出警告信将给出警告信息:息:“ Warning: Matrix is singular to working precision.,求出的矩阵,求出的矩阵一切元素为无穷大一切元素为无穷大 Inf; 当矩阵当矩阵 A 为病态阵为病态阵 Badly Scaled时,时,MATLA

16、B 运用的算法产生的运用的算法产生的误差能够很大,误差能够很大,MATLAB 系统也将给出警告信息:系统也将给出警告信息:“ Warning: Matrix is badly scaled to working precision. Results may be inaccurate.。 E=1,2,3;4,5,6;7,8,9E = 1 2 3 4 5 6 7 8 9 F=1,4,7;2,5,8;3,6,9F = 1 4 7 2 5 8 3 6 9 EFWarning: Matrix is close to singular or badly scaled. Results may be in

17、accurate. RCOND = 1.541976e-018.ans = -0.3333 -7.3333 -14.3333 0.6667 11.6667 22.6667 0 -4.0000 -8.0000 2.3 矩阵、数组和符号运算矩阵、数组和符号运算4、矩阵的函数、矩阵的函数a.矩阵的根本变换函数矩阵的根本变换函数 A=3,3,5;2,4,6;7,8,9 %创建方阵创建方阵 A A = 3 3 5 2 4 6 7 8 9 inv(A) %矩阵的逆矩阵的逆A必需为非奇必需为非奇特方阵特方阵 ans = 0.5000 -0.5417 0.0833 -1.0000 0.3333 0.3333

18、0.5000 0.1250 -0.2500 A %矩阵的转置矩阵的转置 ans = 3 2 7 3 4 8 5 6 9b.b.常用的矩阵运算函数常用的矩阵运算函数 只需方阵才可计算行只需方阵才可计算行列式值,即列式值,即 det(A)的的计算只需在计算只需在 A 为方阵为方阵时才有意义。时才有意义。logm(A)和和 sqrtm(A)计算矩阵的对数计算矩阵的对数/平方平方根是指对整个矩阵根是指对整个矩阵 A 求对数求对数/平方根。平方根。 2.3 矩阵、数组和符号运算矩阵、数组和符号运算2.3 矩阵、数组和符号运算矩阵、数组和符号运算 det(A) %求方阵 A 的行列式值ans = -24

19、eig(A) %求特征值ans = 16.7503 0.8793 -1.6295 logm(A) %求矩阵 A 的对数ans = 0.5432 + 0.8066i 0.7475 + 0.5526i 0.6902 - 0.6914i 0.8584 + 1.4131i 0.7845 + 0.9681i 0.6967 - 1.2112i 0.7502 - 1.5947i 1.1089 - 1.0926i 1.8504 + 1.3668i sqrtm(A) %求矩阵 A 的平方根ans = 1.2466 + 0.3278i 0.5192 + 0.2246i 1.0906 - 0.2809i 0.201

20、9 + 0.5742i 1.4228 + 0.3934i 1.3620 - 0.4921i 1.6144 - 0.6480i 1.7430 - 0.4439i 2.3610 + 0.5554i c.c.矩阵的分解函数矩阵的分解函数 2.3 矩阵、数组和符号运算矩阵、数组和符号运算2.3 矩阵、数组和符号运算矩阵、数组和符号运算 X=3,-1,2;1,2,-1;-2,1,4 %输入矩阵 X X = 3 -1 2 1 2 -1-2 1 4 L,U=lu(X) %对矩阵 X 进展 LU 分解 L = 1.0000 0 0 0.3333 1.0000 0 -0.6667 0.1429 1.0000U

21、= 3.0000 -1.0000 2.0000 0 2.3333 -1.6667 0 0 5.5714 Q,R=qr(X) %对矩阵 X 进展 QR 分解 Q = -0.8018 0.1543 0.5774 -0.2673 -0.9567 -0.1155 0.5345 -0.2469 0.8083 R = -3.7417 0.8018 0.8018 0 -2.3146 0.2777 0 0 4.50332.3 矩阵、数组和符号运算矩阵、数组和符号运算5、数组运算、数组运算 Matlab是以矩阵为根本运算单元的,数组作为独立的计算是以矩阵为根本运算单元的,数组作为独立的计算单元实体是不存在的。数

22、组运算是单元实体是不存在的。数组运算是Matlab的一种运算方式,的一种运算方式,它从矩阵的单个元素出发,针对每个元素进展的运算。它从矩阵的单个元素出发,针对每个元素进展的运算。 MATLAB对数组运算在符号上做了不同的商定,运算符对数组运算在符号上做了不同的商定,运算符方式为:方式为:.* , ./ , . , .矩阵运算和数组运算有着显著的不同。属于两种不同的运矩阵运算和数组运算有着显著的不同。属于两种不同的运算:矩阵运算是从矩阵的整体出发,按照线性代数的运算算:矩阵运算是从矩阵的整体出发,按照线性代数的运算规那么进展,有着明确而严厉的数学规那么;而数组运算规那么进展,有着明确而严厉的数学

23、规那么;而数组运算是从矩阵的单个元素出发,针对每个元素进展的运算。是从矩阵的单个元素出发,针对每个元素进展的运算。对于加法和减法而言,矩阵运算和数组运算一样;对于乘对于加法和减法而言,矩阵运算和数组运算一样;对于乘法和除法而言,矩阵和数组的运算有着显著的不同。法和除法而言,矩阵和数组的运算有着显著的不同。 2.3 矩阵、数组和符号运算矩阵、数组和符号运算矩阵的数组乘矩阵的数组乘/除及乘方除及乘方数组除的运算规那么:数组除的运算规那么:当参与除运算的两个矩阵同维时,运算为当参与除运算的两个矩阵同维时,运算为矩阵的相应元素相除,计算结果是与参与矩阵的相应元素相除,计算结果是与参与运算的矩阵同维的矩

24、阵;运算的矩阵同维的矩阵;当参与运算的矩阵有一个是标量时,运算当参与运算的矩阵有一个是标量时,运算是标量和矩阵的每一个元素相除,计算结是标量和矩阵的每一个元素相除,计算结果是与参与运算的矩阵同维的矩阵;果是与参与运算的矩阵同维的矩阵;右除与左除的关系为右除与左除的关系为 A./B=B.A,其中,其中 A 是被除数,是被除数,B 是除数。是除数。2.3 矩阵、数组和符号运算矩阵、数组和符号运算 E=1,2,3;4,5,6;7,8,9E = 1 2 3 4 5 6 7 8 9 F=1,4,7;2,5,8;3,6,9F = 1 4 7 2 5 8 3 6 9 E.Fans = 1.0000 2.00

25、00 2.3333 0.5000 1.0000 1.33330.4286 0.7500 1.0000 4.F ans = 0.2500 1.0000 1.7500 0.5000 1.2500 2.00000.7500 1.5000 2.2500 F./E ans = 1.0000 2.0000 2.3333 0.5000 1.0000 1.3333 0.4286 0.7500 1.0000 E*Fans = 14 32 50 32 77 122 50 122 194 E.*Fans = 1 8 21 8 25 48 21 48 81数组乘方的运算规那么:数组乘方的运算规那么:矩阵的标量乘方矩阵

26、的标量乘方 A.p 即即 A 为矩阵,为矩阵,p 为标为标量,运算为矩阵每个元素的量,运算为矩阵每个元素的 p 次方,计算结果次方,计算结果是与矩阵是与矩阵A 同维的矩阵;同维的矩阵;标量的矩阵乘方标量的矩阵乘方 p.A,表示以,表示以 p 为底,分别以为底,分别以 A 的元素为指数求幂值,计算结果是与矩阵的元素为指数求幂值,计算结果是与矩阵A 同同维的矩阵。维的矩阵。2.3 矩阵、数组和符号运算矩阵、数组和符号运算b.b.向量的数组运算:向量的数组运算:加加/ /减法:减法: x=1,2,3 x=1,2,3 y=4,5,6 y=4,5,6 c=x-y c=x-y a=1+x a=1+x乘乘/

27、 /除法:除法: b=2 b=2* *x x b=2. b=2.* *x x z3=x.9 z3=x.9 z4=x./9 z4=x./9 z=x. z=x.* *y y z1=x./y z1=x./y z2=x.y z2=x.y2.3 矩阵、数组和符号运算矩阵、数组和符号运算乘方:乘方: z7=2.x z5=x.3 z6=x.y点积、叉积:点积、叉积: c1=dot(a,b) c1= sum(a.*b) c2=cross(a,b)6、数组函数、数组函数 常用的数学常用的数学函数函数 2.3 矩阵、数组和符号运算矩阵、数组和符号运算常用三角函数和超越函数常用三角函数和超越函数2.3 矩阵、数组和

28、符号运算矩阵、数组和符号运算 A=3,3,5;2,4,6;7,8,9 A = 3 3 5 2 4 6 7 8 9 log(A)ans = 1.0986 1.0986 1.6094 0.6931 1.3863 1.7918 1.9459 2.0794 2.1972 sqrt(A)ans = 1.7321 1.7321 2.2361 1.4142 2.0000 2.44952.6458 2.8284 3.0000 cos(A)ans = -0.9900 -0.9900 0.2837 -0.4161 -0.6536 0.96020.7539 -0.1455 -0.9111 pow2(A)ans =

29、8 8 32 4 16 64 128 256 512 2.Aans = 8 8 32 4 16 64 128 256 512 2.3 矩阵、数组和符号运算矩阵、数组和符号运算7、多项式及其运算、多项式及其运算 a.多项式的输入多项式的输入 向量向量A=a0,a1,an-1,an, 那么命令那么命令poly(A)会生成会生成(x-a0)(x-a1)(x-an-1)(x-an) 的的多项式多项式 aa = 1 2 3 4 PA=poly(a)PA = 1 -10 35 -50 24 poly2sym(PA,x) ans = x4-10*x3+35*x2-50*x+24 p_a=poly2sym(a

30、)p_a = x3+2*x2+3*x+42.3 矩阵、数组和符号运算矩阵、数组和符号运算b.多项式的运算多项式的运算 aa =1 2 3 4 b=0,1b =0 1加法:加法: c=a+0 0 bc = 1 2 3 5乘法:乘法: d=conv(a,b)d =0 1 2 3 4除法:除法: div,rest=deconv(d,a)div = 0 1rest =0 0 0 0 0微分:微分: polyder(a)ans = 3 4 3求根:求根: roots(a)ans = -1.6506 -0.1747 + 1.5469i -0.1747 - 1.5469i2.3 矩阵、数组和符号运算矩阵、数组和符号运算求值:求值: a=1,2,3,4a = 1 2 3 4 b=1,1;1,1b = 1 1 1 1 polyvalm(a,4) % x=4时多时多项式的值项式的值 ans = 112 %与

温馨提示

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

评论

0/150

提交评论