《matlab 向量与矩阵运算.ppt》由会员分享,可在线阅读,更多相关《matlab 向量与矩阵运算.ppt(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数学实验向量与矩阵运算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,0例例:从矩阵中抽取行或列从矩阵中抽取行或列q 向量与矩阵的生成(续)向量与矩阵的生成(续)向量与矩阵运算向量与矩阵运算u 矩阵的生成矩阵的生成 直接输入直接输入:A=1,2,3;4,5,6;7,8,9 由向量生成由向量生成 由函数生成由函数生成 通过编写通过编写m文件生成文件生成例例:
2、x=1,2,3;y=2,3,4;A=x,y,B=x;y例例:C=magic(3)常见矩阵生成函数常见矩阵生成函数矩阵操作矩阵操作q 提取矩阵的部分元素:提取矩阵的部分元素:冒号运算符冒号运算符u A(:)A的所有元素的所有元素u A(:,:)二维矩阵二维矩阵A的所有元素的所有元素u A(:,k)A的第的第 k 列,列,A(k,:)A的第的第 k 行行 u A(k:m)A的第的第 k 到第到第 m 个元素个元素u A(:,k:m)A的第的第 k 到第到第 m 列组成的子矩阵列组成的子矩阵A(:)与与 A(:,:)的区别的区别?如何获得由如何获得由 A 的第一、三行和第一、二列组成的子矩阵?的第一
3、、三行和第一、二列组成的子矩阵?自己动手矩阵操作矩阵操作q 矩阵的旋转矩阵的旋转u fliplr(A)左右旋转左右旋转u flipud(A)上下旋转上下旋转u rot90(A)逆时针旋转逆时针旋转 90 度;度;rot90(A,k)逆时针旋转逆时针旋转 k90 度度例例: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.点与单引号之间不能有空格点与单引
4、号之间不能有空格!矩阵操作矩阵操作q 改变矩阵的形状:改变矩阵的形状:reshapereshape(A,m,n):将矩阵元素按将矩阵元素按 列方向列方向 进行重组进行重组重组后得到的新矩阵的元素个数重组后得到的新矩阵的元素个数必须与原矩阵元素个数相等必须与原矩阵元素个数相等!矩阵操作矩阵操作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
5、length(x)返回向量返回向量 X 的的长度长度u length(A)等价于等价于 max(size(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 矩阵的除法矩阵的除法:/、右除和
6、左除右除和左除 若 A 可逆方阵,则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矩阵的
7、乘方矩阵的乘方u 若 a 是标量,A 是方阵,且 V,D=eig(A),则 aA V*(aD)/Vu 若 A,P 均是矩阵,则 AP 无定义u 若 a 是标量,则矩阵的矩阵的 Kronecker 乘乘积积q 矩阵矩阵 Kronecker 乘积的定义乘积的定义 设A是nm矩阵,B是pq矩阵,则A与B的kronecker乘积为:q Kronecker 乘积的性质乘积的性质u 是是 npmq 矩阵;矩阵;通常通常u 任何两个矩阵都有任何两个矩阵都有 Kronecker 乘积乘积 u Matlab 中实现两个矩阵中实现两个矩阵 Kronecker 相乘的函数为相乘的函数为kron(A,B)Kronec
8、ker乘积有时也称张量积乘积有时也称张量积矩阵的数组运算矩阵的数组运算q 数组运算:数组运算:对应元素进行运算点与算术运算符之间不能有空格!u 数组运算包括:数组运算包括:点乘点乘、点除点除、点幂点幂u 相应的数组运算符为:相应的数组运算符为:“.*”,“./”,“.”和和“.”参与运算的对象必须具有相同的形状!参与运算的对象必须具有相同的形状!例例:A=1 2 3;4 5 6;B=3 2 1;6 5 4;C=A.*B;D=A./B;E=A.B;F=A.B;函数取值函数取值设设 x 是变量,是变量,f 是一个函数是一个函数u 当当 x=a 是标量时,是标量时,f(x)=f(a)也是一个标量也是
9、一个标量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;4 5 6;y1=sin(x);y2=exp(A);y3=sqrt(A);例例:矩阵的超越函数矩阵的超越函数q Matlab 提供了三种矩阵函数:expm、sqrtm、logm详情参见联机帮助(详情参见联机帮助(help expm/sq
10、rtm/logm)q 更一般的矩阵函数:funmu funm(A,fun)参数参数 fun 的可以是的可以是 exp,,log,cos,sin,cosh,sinh 矩阵与数的运算矩阵与数的运算q 加减加减:矩阵的每个元素都与数作加减运算矩阵的每个元素都与数作加减运算q 数乘数乘:矩阵的每个元素都与数作乘法运算矩阵的每个元素都与数作乘法运算q 矩阵除以一个数矩阵除以一个数:每个元素都除以这个数每个元素都除以这个数q 点幂点幂:l 底为矩阵,指数为标量l 底为标量,指数为矩阵数与数组的点幂数与数组的点幂x.y=14,25,36=1,32,729 x.2=12,22,32=1,4,9 2.x=?.前
11、面留个空格前面留个空格例例:x=1 2 3;y=4 5 6;2.x;y=?Matlab中的所有中的所有标点符号必须在标点符号必须在英文状态下输入英文状态下输入Matlab中常见数学函数中常见数学函数log 是自然对数,即以是自然对数,即以 e 为底数为底数mod(x,y)结果与结果与 y 同号,同号,rem(x,y)则与则与 x 同号同号max 等函数的参数是矩阵时,是作用在矩阵各列上等函数的参数是矩阵时,是作用在矩阵各列上上机作业上机作业1.试分别生成试分别生成 5 阶的单位阵、阶的单位阵、8 阶均匀分布的随机矩阵阶均匀分布的随机矩阵及其下三角矩阵及其下三角矩阵2.生产列向量生产列向量 x=1,3,5,7,9,293.生成以生成以 x 的前的前 5 个元素为对角线的矩阵个元素为对角线的矩阵 A4.生成一个与生成一个与 A 同阶的正态分布的随机矩阵同阶的正态分布的随机矩阵 B5.输出输出 A 与与 B 的的 kronecker 乘积矩阵乘积矩阵 C6.生成由生成由 B 与其同阶魔方矩阵点乘得到的矩阵与其同阶魔方矩阵点乘得到的矩阵 D7.生成由生成由 D 的第的第 2、4、5 行和第行和第4、1 列组成的子矩阵列组成的子矩阵 E8.求出矩阵求出矩阵 E 的最大元素的最大元素9.教材第教材第 53 页,页,1、2、3、4、5