
二向量与矩阵的运ppt课件.ppt
16页向量与矩阵运算向量与矩阵运算西南交通大学数学建模西南交通大学数学建模q 向量与矩阵的生成向量与矩阵的生成向量与矩阵运算向量与矩阵运算u 向量的生成向量的生成ü 直接输入直接输入: a=[1,2,3,4]ü 冒号冒号运运算符算符a=[1:4] ==> ==> a=[1, 2, 3, 4]b=[0:pi/3:pi] ==>==> b=[0, 1.0472, 2.0944, 3.1416]c=[6:-2:0] ==>==> c = [6, 4, 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)常见矩阵生成函数常见矩阵生成函数zeros(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 为主对角线的对角矩阵为主对角线的对角矩阵tril(A)提取一个矩阵的下三角部分提取一个矩阵的下三角部分triu(A)提取一个矩阵的上三角部分提取一个矩阵的上三角部分rand(m,n)产生产生 0~~1 间均匀分布的随机矩阵间均匀分布的随机矩阵 m=n 时简写为时简写为 rand(n)randn(m,n)产生均值为产生均值为0,方差为,方差为1的标准正态分布随机矩阵的标准正态分布随机矩阵m=n 时简写为时简写为 randn(n)矩阵操作矩阵操作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 的第一、三行和第一、二列组成的子矩阵?的第一、三行和第一、二列组成的子矩阵?自己动手矩阵操作矩阵操作q 矩阵的旋转矩阵的旋转u fliplr(A) 左右旋转左右旋转u flipud(A) 上下旋转上下旋转u rot90(A) 逆时针旋转逆时针旋转 90 度;度; rot90(A,k) 逆时针旋转逆时针旋转 k×90 度度例例::>>>> 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 查看矩阵的大小:查看矩阵的大小: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))矩阵基本运算矩阵基本运算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 可逆方阵,则A\B <==> <==> A 的逆左乘的逆左乘 B < <==> ==> inv(A)*BB/A <==> <==> A 的逆右乘的逆右乘 B <==> <==> B*inv(A)X=A\B <==> <==> A*X=BX=B/A <==> <==> X*A=B 通常,矩阵除法可以理解为矩阵的乘方矩阵的乘方u A 是方阵,p 是正整数A^p 表示 A 的 p 次幂,即 p 个 A 相乘。
矩阵的数组运算矩阵的数组运算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)也是一个标量也是一个标量u 当当 x = [a, b, … , c] 是向量时,是向量时,f(x)= [f(a), f(b), … , f(c)]q 函数作用在矩阵上的取值函数作用在矩阵上的取值u 若若 A 是矩阵,则是矩阵,则 f(A) 是一个与是一个与 A 同形状的矩阵同形状的矩阵 f 作用在作用在 x 的的每个分量上每个分量上函数取值函数取值例例::>>>> x=[0:pi/4:pi]; A=[1 2 3; 4 5 6];>>>> y1=sin(x); y2=exp(A); y3=sqrt(A);例例::数与数组的点幂数与数组的点幂x.^y =[1^4,2^5,3^6]=[1,32,729] x.^2 =[1^2,2^2,3^2]=[1,4,9] 2 .^x = ? 例例::x=[1 2 3]; y=[4 5 6];2 .^[x;y]= ?Matlab中的所有中的所有标点符号必须在标点符号必须在英文状态下输入英文状态下输入Matlab中常见数学函数中常见数学函数sin、、cos、、tan、、cot、、sec、、csc、、…asin、、acos、、atan、、acot、、asec、、acsc、、…exp、、log、、log2、、log10、、sqrtabs、、conj、、real、、imag、、signmax、、min、、sum、、mean、、sortrank、、det、、inv、、eig……①①log 是自然对数,即以是自然对数,即以 e 为底数为底数②②max 等函数的参数是矩阵时,是作用在矩阵各列上等函数的参数是矩阵时,是作用在矩阵各列上。












