第二讲 向量与矩阵运算优秀课件.ppt
第二讲第二讲向量与矩阵运算向量与矩阵运算第1页,本讲稿共18页a=1: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例:(2)冒号表达式生成利用冒号表达式自动建立一个向量:冒号表达式可以自动产生一个行向量,一般格式是:X=e1:e2:e3 其中e1为初始值,e2为步长,e3为终止值。第2页,本讲稿共18页 (3)用linspace函数产生行向量。其调用格式为:linspace(a,b,n)其中a和b是生成向量的第一个和最后一个元素,n是元素总数(采用等分)。a=linspace(1,3,3)a=1,2,3第3页,本讲稿共18页q 矩阵(矩阵(m行行n列的数表)的生成列的数表)的生成向量与矩阵运算向量与矩阵运算(1)直接输入:两行之间用;或回车隔开 元素之间用空格或,隔开.A=1,2,3;4,5,6;7,8,9(2)由向量生成,每一行为一个向量例:x=1,2,3;y=2,3,4;A=x;yA=X,Y 等于什么?第4页,本讲稿共18页(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 维单位矩阵常见矩阵生成函数第5页,本讲稿共18页矩阵元素的操作矩阵元素的操作 q 提取矩阵的部分元素:冒号运算符u A(:,k)A的第 k 列,A(k,:)A的第 k 行 u A(:,k:m)A的第 k 到第 m 列组成的子矩阵u A(k:m,:)A的第 k 到第 m 行组成的子矩阵u双下标:A(i,j)位于A的第i行第j列的元素u 单下表:A(i)矩阵A的第i个元素(按列从左到右排列)q元素的标识u A(:,k,m)A的第 k、m列,第6页,本讲稿共18页向量与矩阵运算向量与矩阵运算na=123n456n789na=n123n456n789na(1,3,:)%第一、三行第一、三行nans=n123n789第7页,本讲稿共18页矩阵元素的操作矩阵元素的操作 u A(k:m)A的第 k 到第 m 个元素u删除删除A的第的第km行,构成新矩阵行,构成新矩阵:A(k:m,:,:)=删除删除A的第的第km列,构成新矩阵列,构成新矩阵:A(:,k:m)=将矩阵将矩阵A和和B拼接成新矩阵:拼接成新矩阵:AB;A;B第8页,本讲稿共18页二、矩阵基本运算二、矩阵基本运算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;5 6;C=A*B第9页,本讲稿共18页矩阵基本运算矩阵基本运算q 矩阵的除法:/、右除和左除 若 A 可逆方阵,则AB A 的逆左乘 B inv(A)*BB/A A 的逆右乘 B B*inv(A)X=AB A*X=BX=B/A X*A=B 通常,矩阵除法可以理解为第10页,本讲稿共18页矩阵的乘方矩阵的乘方u A 是方阵,p 是正整数Ap 表示 A 的 p 次幂,即 p 个 A 相乘。第11页,本讲稿共18页三、矩阵的数组运算三、矩阵的数组运算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;第12页,本讲稿共18页函数取值函数取值设 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 的每个分量上第13页,本讲稿共18页函数取值函数取值例:x=0:pi/4:pi;A=1 2 3;4 5 6;y1=sin(x);y2=exp(A);y3=sqrt(A);例:第14页,本讲稿共18页1.矩阵的逆矩阵的逆 对于一个方阵对于一个方阵A,如果存在一个与其同阶的方阵,如果存在一个与其同阶的方阵B,使,使得:得:AB=BA=I(I为单位矩阵为单位矩阵),则称则称B为为A的逆矩阵,当的逆矩阵,当然,然,A也是也是B的逆矩阵。的逆矩阵。求一个矩阵的逆是一件非常烦琐的工作,容易出错,但求一个矩阵的逆是一件非常烦琐的工作,容易出错,但在在MATLAB中,求一个矩阵的逆非常容易。中,求一个矩阵的逆非常容易。求方阵求方阵A的逆矩阵可调用函数的逆矩阵可调用函数inv(A)。例例 用求逆矩阵的方法解线性方程组。用求逆矩阵的方法解线性方程组。Ax=b 其解为:其解为:x=A-1b第15页,本讲稿共18页a=1 2 3;4 5 6;2 3 5;b=inv(a)b=-2.3333 0.3333 1.0000 2.6667 0.3333 -2.0000 -0.6667 -0.3333 1.0000第16页,本讲稿共18页2 方阵的行列式方阵的行列式 把一个方阵看作一个行列式,并对其按行列式的规则求值,把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称为矩阵所对应的行列式的值。这个值就称为矩阵所对应的行列式的值。在在MATLAB中,求方阵中,求方阵A所对应的行列式的值的函数是所对应的行列式的值的函数是det(A)。3 矩阵的秩 矩阵线性无关的行数与列数称为矩阵的秩。在MATLAB中,求矩阵秩的函数是rank(A)。第17页,本讲稿共18页4.矩阵的特征值与特征向量矩阵的特征值与特征向量 在在MATLAB中,计算矩阵中,计算矩阵A的特征值和特征向量的函数的特征值和特征向量的函数是是eig(A),常用的调用格式有:,常用的调用格式有:(1)E=eig(A):求矩阵:求矩阵A的全部特征值,构成向量的全部特征值,构成向量E。(2)V,D=eig(A):求矩阵:求矩阵A的全部特征值,构成对角的全部特征值,构成对角阵阵D,并求,并求A的特征向量构成的特征向量构成V的列向量。的列向量。对于奇异矩阵或长方阵b,把同时满足xbx=b和bxb=x(penrose第一,第二方程)的矩阵x 称为b的伪矩阵,matlab中求伪矩阵x的命令为pinv(b);是方阵逆阵的推广。第18页,本讲稿共18页