《向量与矩阵的基本运算分解ppt课件.ppt》由会员分享,可在线阅读,更多相关《向量与矩阵的基本运算分解ppt课件.ppt(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数学实验向量与矩阵运算向量与矩阵运算主要内容主要内容nMatlab能处理数、向量和矩阵能处理数、向量和矩阵.数实际上是数实际上是一个一个11维矩阵维矩阵.n这节的主要内容:这节的主要内容:矩阵的生成、操作;矩阵的生成、操作;矩阵的基本运算;矩阵的基本运算;矩阵的函数矩阵的函数.q 向量与矩阵的生成向量与矩阵的生成一一 向量与矩阵运算向量与矩阵运算u 向量的生成向量的生成 直接输入直接输入: a=1,2,3,4 冒号冒号运运算符算符a=1:4 = = a=1, 2, 3, 4b=0:pi/3:pi = b=0, 1.0472, 2.0944, 3.1416c=6:-2:0 = c = 6, 4,
2、 2, 0例例: 从矩阵中抽取行或列从矩阵中抽取行或列q 向量与矩阵的生成(续)向量与矩阵的生成(续)向量与矩阵运算向量与矩阵运算u 矩阵的生成矩阵的生成 直接输入直接输入: A=1, 2, 3; 4, 5, 6; 7, 8, 9 由向量生成由向量生成 由函数生成由函数生成 通过编写通过编写m文件生成文件生成例例: x=1,2,3;y=2,3,4; A=x,y, B=x;y例例: C=magic(3)自动动手自动动手1、使用函数生成、使用函数生成810零矩阵、零矩阵、 55元素都元素都为为1的矩阵、的矩阵、 55单位矩阵、单位矩阵、 44魔术方阵。魔术方阵。常见矩阵生成函数常见矩阵生成函数ze
3、ros(m,n)生成一个生成一个 m 行行 n 列的零矩阵,列的零矩阵,m=n 时可简写为时可简写为 zeros(n)ones(m,n)生成一个生成一个 m 行行 n 列的元素全为列的元素全为 1 的矩阵的矩阵, m=n 时可写为时可写为 ones(n)eye(m,n)生成一个主对角线全为生成一个主对角线全为 1 的的 m 行行 n 列矩阵列矩阵, m=n 时可简写为时可简写为 eye(n),即为即为 n 维单位矩阵维单位矩阵diag(X)若若 X 是矩阵,则是矩阵,则 diag(X) 为为 X 的主对角线向量的主对角线向量若若 X 是向量,是向量,diag(X) 产生以产生以 X 为主对角线
4、的对角矩阵为主对角线的对角矩阵tril(A)提取一个矩阵的下三角部分提取一个矩阵的下三角部分triu(A)提取一个矩阵的上三角部分提取一个矩阵的上三角部分rand(m,n)产生产生 01 间均匀分布的随机矩阵间均匀分布的随机矩阵 m=n 时简写为时简写为 rand(n)randn(m,n)产生均值为产生均值为0,方差为,方差为1的标准正态分布随机矩阵的标准正态分布随机矩阵m=n 时简写为时简写为 randn(n)矩阵操作矩阵操作q 提取矩阵的部分元素:提取矩阵的部分元素: 冒号运算符冒号运算符u A(:) A的所有元素的所有元素u A(:,:) 二维矩阵二维矩阵A的所有元素的所有元素u A(:
5、,k) A的第的第 k 列,列, A(k,:) A的第的第 k 行行 u A(k:m) A的第的第 k 到第到第 m 个元素个元素u A(:,k:m) A的第的第 k 到第到第 m 列组成的子矩阵列组成的子矩阵A(:) 与与 A(:,:) 的区别的区别 ?如何获得由如何获得由 A 的第一、三行和第一、二列组成的子矩阵?的第一、三行和第一、二列组成的子矩阵?自己动手矩阵操作矩阵操作q 矩阵的旋转矩阵的旋转u fliplr(A) 左右旋转左右旋转u flipud(A) 上下旋转上下旋转u rot90(A) 逆时针旋转逆时针旋转 90 度;度; rot90(A,k) 逆时针旋转逆时针旋转 k90 度
6、度例例: A=1 2 3;4 5 6 B=fliplr(A) C=flipud(A) D=rot90(A), E=rot90(A,-1)矩阵操作矩阵操作q 矩阵的转置与共轭转置矩阵的转置与共轭转置u 共轭转置共轭转置u . 转置,矩阵元素不取共轭转置,矩阵元素不取共轭例例: A=1 2;2i 3i(动手验证)(动手验证) B=A C=A.点与单引号之间不能有空格点与单引号之间不能有空格!矩阵操作矩阵操作q 改变矩阵的形状:改变矩阵的形状:reshapereshape(A,m,n): 将矩阵元素按将矩阵元素按 列方向列方向 进行重组进行重组重组后得到的新矩阵的元素个数重组后得到的新矩阵的元素个数
7、必须与原矩阵元素个数相等必须与原矩阵元素个数相等! 矩阵操作矩阵操作q 查看矩阵的大小:查看矩阵的大小:sizeu size(A) 列出矩阵列出矩阵 A 的的行数和列数行数和列数u size(A,1) 返回矩阵返回矩阵 A 的的行数行数u size(A,2) 返回矩阵返回矩阵 A 的的列列数数例例: A=1 2 3; 4 5 6 size(A) size(A,1) size(A,2)u length(x) 返回返回向量向量 X 的的长度长度u length(A) 等价于等价于 max(size(A)自己动手自己动手1、用、用rand函数生成函数生成810矩阵矩阵A;2、用、用length、si
8、ze函数求出矩阵函数求出矩阵A的行数和的行数和列数;列数;矩阵基本运算矩阵基本运算q 矩阵的加减矩阵的加减:对应分量进行运算对应分量进行运算要求参与加减运算的矩阵具有要求参与加减运算的矩阵具有 相同的维数相同的维数例例: A=1 2 3; 4 5 6; B=3 2 1; 6 5 4 C=A+B; D=A-B;q 矩阵的普通乘法矩阵的普通乘法要求参与运算的矩阵满足线性代数中矩阵相乘要求参与运算的矩阵满足线性代数中矩阵相乘的的原则原则例例: A=1 2 3; 4 5 6; B=2 1; 3 4; C=A*B二二 矩阵基本运算矩阵基本运算q 矩阵的矩阵的除法除法:/、 右除和左除右除和左除 若 A
9、可逆方阵,则AB A 的逆左乘的逆左乘 B = inv(A)*BB/A A 的逆右乘的逆右乘 B B*inv(A)X=AB A*X=BX=B/A X*A=B 通常,矩阵除法可以理解为 当当 A 和和 B 行数相等行数相等时即可进行时即可进行左除左除 当当 A 和和 B 列数相等列数相等时即可进行时即可进行右除右除矩阵的乘方矩阵的乘方u A 是方阵,p 是正整数Ap 表示 A 的 p 次幂,即 p 个 A 相乘。 u 若 A 是方阵,p 不是正整数 Ap 的计算涉及到的计算涉及到 A 的特征值分解,即若的特征值分解,即若 A = V*D*V-1 则 Ap=V*(D.p)/V矩阵的乘方矩阵的乘方u
10、 若 a 是标量,A 是方阵,且 V,D = eig(A),则 aA V*(aD)/Vu 若 A, P 均是矩阵,则 AP 无定义u 若 a 是标量, ndddD00000021ndadadaDa00000021则矩阵的矩阵的 Kronecker 乘乘积积q 矩阵矩阵 Kronecker 乘积乘积的定义的定义 设A是nm矩阵,B是pq矩阵,则A与B的kronecker乘积为:mmnnnma Ba BaBa Ba BaBCABa Ba BaB111212122212q Kronecker 乘积乘积的性质的性质u 是是 npmq 矩阵;矩阵;通常通常BAABBAu 任何两个矩阵都有任何两个矩阵都有
11、 Kronecker 乘积乘积 u Matlab 中实现两个矩阵中实现两个矩阵 Kronecker 相乘的函数为相乘的函数为kron(A,B)Kronecker乘积有时也称张量积乘积有时也称张量积矩阵的数组运算矩阵的数组运算q 数组运算:数组运算:对应元素进行运算点与算术运算符之间不能有空格!u 数组运算包括:数组运算包括:点乘点乘、点除点除、点幂点幂u 相应的数组运算符为:相应的数组运算符为: “.* ” , “./ ” , “. ” 和和“ . ”参与运算的对象必须具有相同的形状!参与运算的对象必须具有相同的形状!例例: A=1 2 3; 4 5 6; B=3 2 1; 6 5 4; C=
12、A.*B; D=A./B; E=A.B; F=A.B;函数取值函数取值设设 x 是变量,是变量, f 是一个函数是一个函数u 当当 x = a 是标量时,是标量时,f(x) = f(a)也是一个标量也是一个标量u 当当 x = a, b, , c 是向量时,是向量时,f(x)= f(a), f(b), , f(c)q 函数作用在矩阵上的取值函数作用在矩阵上的取值u 若若 A 是矩阵,则是矩阵,则 f(A) 是一个与是一个与 A 同形状的矩阵同形状的矩阵 f 作用在作用在 x 的的每个分量上每个分量上函数取值函数取值怎样计算怎样计算 eA ? 例例: x=0:pi/4:pi; A=1 2 3;
13、4 5 6; y1=sin(x); y2=exp(A); y3=sqrt(A);)exp()exp()exp()exp()exp()exp()exp()exp()exp()exp(212222111211mnmmnnaaaaaaaaaA例例:(exp(1).A矩阵的超越函数矩阵的超越函数q Matlab 提供了三种矩阵函数:expm、sqrtm、logm详情参见联机帮助(详情参见联机帮助(help expm / sqrtm / logm )q 更一般的矩阵函数: funmu funm(A,fun)参数参数 fun 的可以是的可以是 exp,,log,cos,sin,cosh,sinh 数与数组
14、的点幂数与数组的点幂x.y =14,25,36=1,32,729 x.2 =12,22,32=1,4,9 2 .x = ? . 前面留个空格前面留个空格例例:x=1 2 3; y=4 5 6;2 .x;y= ?Matlab中的所有中的所有标点符号必须在标点符号必须在英文状态下输入英文状态下输入三三 矩阵函数矩阵函数n以三角分解函数以三角分解函数lu()和特征值分解函数和特征值分解函数eig()讲述矩阵函数的使用。讲述矩阵函数的使用。1、三角分解、三角分解 n最基本的分解最基本的分解“LU”分解,矩阵分解为两个分解,矩阵分解为两个基本三角矩阵形成的方阵,一个为上三角矩阵基本三角矩阵形成的方阵,一
15、个为上三角矩阵一个为下三角矩阵。计算的方法用高斯消去法。一个为下三角矩阵。计算的方法用高斯消去法。n函数格式函数格式L,U=lu(X) %L,U为输出变量为输出变量(返回值返回值),A为输入变量,为输入变量,U为上三角阵,为上三角阵,L为下三角阵或其变换形式,为下三角阵或其变换形式,满足满足LU=Xn运行结果如下:运行结果如下:A=1 2 3;4 5 6;7 8 9;L,U=lu(A)运行结果:运行结果:2、特征值分解、特征值分解n如果如果A是是nn矩阵,若矩阵,若Ax =x则称则称为为A的特征的特征值,值,x为相应的特征向量。为相应的特征向量。n函数函数eig()为特征值分解函数,其调用格式
16、为:为特征值分解函数,其调用格式为: x,D=eig(A) %x、D为输出变量为输出变量(返回值返回值),A为输入变量为输入变量.D的的对角元素是特征值,对角元素是特征值,x列是相应的特征向量列是相应的特征向量例例 A=1 2 3;4 5 6;7 8 9; x,D=eig(A)运行结果为:运行结果为:Matlab中常见数学函数中常见数学函数sin、cos、tan、cot、sec、csc、asin、acos、atan、acot、asec、acsc、exp、log、log2、log10、sqrtabs、conj、real、imag、signfix、floor、ceil、round、mod、remm
17、ax、min、sum、mean、sort、fftnorm、rank、det、inv、eig、lu、qr、svd log 是自然对数,即以是自然对数,即以 e 为底数为底数 mod(x,y) 结果与结果与 y 同号,同号,rem(x,y) 则与则与 x 同号同号 max 等函数的参数是矩阵时,是作用在矩阵各列上等函数的参数是矩阵时,是作用在矩阵各列上上机作业上机作业1. 试分别生成试分别生成 5 阶的单位阵、阶的单位阵、8 阶均匀分布的随机矩阵及其阶均匀分布的随机矩阵及其下三角矩阵下三角矩阵2. 生产列向量生产列向量 x=1, 3, 5, 7, 9, , 293. 生成以生成以 x 的元素为对角线的矩阵的元素为对角线的矩阵 A,并输出,并输出 A 的行数的行数4. 生成一个与生成一个与 A 同阶的正态分布的随机矩阵同阶的正态分布的随机矩阵 B5. 输出输出 A 与与 B 的的 kronecker 乘积矩阵乘积矩阵 C6. 生成由生成由 A 与与 B 点乘得到的矩阵点乘得到的矩阵 D7. 生成一个由生成一个由 D 的第的第 8、4、10、13 行和第行和第 7、1、6、9、2 列组成的子矩阵列组成的子矩阵 E8. 求出矩阵求出矩阵 E 的最大元素的最大元素9. 教材第教材第 53 页,页,1(1),(3),(4)、2、3、4、5
限制150内