资源预览内容
第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
第9页 / 共13页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
5.1.1 基本矩阵运算元-我们在第二章已说明过 MATLAB 的运算是以阵列(array)及矩阵 (matrix) 方式在做运算,而这二者在MATLAB的 基本运算性质不同,阵列强调元素对元素的运算,而矩阵则采用线性代数的运算方式。我们就来说明矩阵运算 的特点。 以下将阵列及矩阵的运算符号及其意义列出 阵列运算符号 矩阵运算符号 功能 + + 加 - - 减 .* * 乘 ./ / 左除 . 右除 . 次方 . 转置 利用这些运算符号即可进行以下的矩阵运算。 A=2 5 1; 7 3 8; 4 5 21; 16 13 0; A % A的转置矩阵 A = 2 7 4 16 5 3 5 13 1 8 21 0 A=4 -1 3; B=-2 5 2; dot_prod = sum(A.*B) % 二个阵列做内积 dot_prod = -7 c=dot(A,B) % 以dot函数也可做内积运算 c = -7 A=4; -1; 3; dot_prod = sum(A.*B); % 如果A是行阵列则先做转置,再做内积 F=2 5 -1; G=0 1 -3; out_prod=F*G; % 二矩阵做外积 A=2,5,1; 0,3,-1; B=1,0,2; -1,4,-2; 5,2,1; C=A*B % 矩阵相乘,注意二个矩阵的大小须相容 C = 2 22 -5 -8 10 -7 A=2 1; 4 3; A2 % 矩阵次方 ans = 4 1 16 95.1.2 矩阵多项式-函数polyvalm是以矩阵方式做多项式函数计算,有别于polyval是以阵列方式计算函数值。它的语法为 polyvalm(a,X),其中X为一矩阵而a则是一多项式。以下的例子可说明其用法。 X=1 1 1; 2 2 2; 3 3 3; a=1 1 1; % 注意a=X*X+X+I f=polyvalm(a,X) f = 8 7 7 14 15 14 21 21 22 5.3.1 反矩阵、矩阵秩与行列式-一个正方矩阵A的反矩阵的定义是,所以此二矩阵相乘不论是或,结果皆为单位矩阵。但是一 矩阵如果是奇异(singular) 或是条件不足 (ill-conditioned),其反矩阵并不存在。条件不足的矩阵与一组联立方程 组其中的方程式并不独立有关,而一矩阵的秩(rank) 即是代表矩阵中独立方程式个数。如果一矩阵的秩数和 其矩阵的列数相等,则此矩阵为非奇异且其反矩阵存在。 MATLAB的反矩阵函数和秩函数语法分别为inv(A), rank(A),:例如: A=2 1; 4 3; rank(A) 2 % 表示A秩数为2且等于矩阵的列数 inv(A) % 反矩阵 ans = 1.5000 -0.5000 -2.0000 1.0000 B=2 1; 3 2; 4 5; % B为奇异矩阵 rank(B) ans = 2 % 表示B秩数为2,但是其列数为3 inv(B) ? Error using = inv Matrix must be square. 相信大家都会计算矩阵行列式的值,但是如一矩阵大小超过4以上,行列式值的计算就会繁复。MATLAB提供 计算行列式的函数,其语法为det(A),例如: A=1 3 0; -1 5 2; 1 2 1; det(A) % 矩阵之行列式值 ans = 10沪p算就会繁复。MATLAB提供 计算行列式的函数,其语法为det(A),例如: A=1 3 0; -1 5 2; 1 2 1; det(A) % 矩阵之行列式值 ans = 105.3.2 特徵值与特徵向量-假设 A为一个 矩阵,而 X 为一个有n列的栏向量,为一纯量。考虑以下的数学式 如果X由不为零的元素所组成,其中要满足上式称为矩阵A的特徵值(eigenvalue),而X称为矩阵A的特徵向量 (eigenvector)。特徵向量代表一个正规正交(orthonormal) 的向量组,所谓的正规正交向量,是指这向量与自身做 内积的值为一单位向量;在几何关系上是指二量相互垂直且此其内积值再做正规化(normalization)。上式也可改写为 其中 I 为单位矩阵。 则eigenvalue可以用特徵方程式计算 上述的二次方程式可求解二个根分别为,这二个值即为A的特徵值。而A的特徵向量求法如下 ,分别将任一特徵值代入。例如 另一个特徵值代入,可以得到另一个特徵向量为。我们可找到无限多个向量,满足上述的 特徵向量,例如 因此要得到唯一的特徵向量,即是正交(orthonormal)特徵向量组Q,利用其特性 求解上式可得。所以对应的正交特徵向量组Q为 在上述例子中,矩阵A很简单大小为,可以用手做演算。一但矩阵大小增加,以MATLAB内建函数做运 算,就很轻松。相关函数的语法为eig(A),得到一栏向量代表A的特徵值;而Q,d=eig(A),其中Q代表A的特徵 向量,d为一对角矩阵其元素代表A的特徵值。 在此示范上述例子 A = 0.5 0.25; 0.25 0.5; Q,d = eig(A) Q = 0.7071 0.7071 -0.7071 0.7071 d = % 注意在对角线上的值才是特徵值 0.2500 0 0 0.7500 Q*Q % Q*Q=I ans= 1 0 0 1 A*Q(:,1); 0.25* Q(:,1) % 验证,注意X=Q(:,1) 为第一个特徵向量 ans = % 为A*X的结果 0.1768 -0.1768 ans = % 为的结果 0.1768 -0.17685.3.3 矩阵分解-矩阵分解 (decomposition, factorization)是多半将矩阵拆解为数个三角形矩阵(triangular matrix),依使用目的的不同 ,可分为三种矩阵分解法:1)三角分解法 (Triangular Factorization),2)QR 分解法 (QR Factorization),3)奇异值分 解法 (Singular Value Decompostion)。(1) 三角分解法三角分解法是将原正方 (square) 矩阵分解成一个上三角形矩阵或是排列(permuted) 的上三角形矩阵和一个 下三角形矩阵,这样的分解法又称为LU分解法。它的用途主要在简化一个大矩阵的行列式值的计算过程,求 反矩阵,和求解联立方程组。不过要注意这种分解法所得到的上下三角形矩阵并非唯一,还可找到数个不同 的一对上下三角形矩阵,此两三角形矩阵相乘也会得到原矩阵。 我们举以下二个矩阵为例: 利用三角分解法可将A和B二矩阵分别拆解为上下三角形矩阵 注意B分解的矩阵得到的第一个矩阵LB是排列的下三角形矩阵,如果第二、三列互换,则此变成完全的下 三角形矩阵。 以MATLAB函数计算上述的LU分解法,其语法为L,U=lu(A),其中L代表下三角形矩阵U代表上三角形矩阵。 我们来看一个例子。 A = 1 2 -1, -2 -5 3; -1 -3 0; B=1 3 2; -2 -6 1; 2 5 7; L1,U1 = lu(A); L2,U2 = lu(B); L1; U1 L1 = % 注意这个矩阵L1和之前的LA不相同 -0.5 1 0 1 0 0 0.5 1 1 U1 = % 注意这个矩阵U1和之前的UA不相同 -2 -5 3 0 -0.5 0.5 0 0 -2 L2; U2 L2 = % 注意这个矩阵L2和之前的LB不相同 -0.5 0 1 1 0 0 -1 1 0 U2 = % 注意这个矩阵U2和之前的UB不相同 -2 -6 1 0 -1 8 0 0 2.5(2) QR分解法QR分解法是将矩阵分解成一个正规正交矩阵与上三角形矩阵。还记得先前我们介绍的正规正交矩阵Q满足的条件吗!所以称为QR分解法与此正规正交矩阵的通用符号Q有关。 MATLAB以qr函数来执行QR分解法, 其语法为Q,R=qr(A),其中Q代表正规正交矩阵,而R代表上三角形矩 阵。此外,原矩阵A不必为正方矩阵;如果矩阵A大小为,则矩阵Q大小为,矩阵R大小为。 (3) 奇异值分解法 奇异值分解 (sigular value decomposition,SVD) 是另一种正交矩阵分解法;SVD是最可靠的分解法,但是它比QR 分解法要花上近十倍的计算时间。U,S,V=svd(A),其中U和V代表二个相互正交矩阵,而S代表一对角矩阵。 和QR分解法相同者, 原矩阵A不必为正方矩阵。 使用SVD分解法的用途是解最小平方误差法和数据压缩。6.1 利用矩阵解法-假设一组联立线性方程式为 我们习惯将上组方程式以矩阵方式表示如下 AX=B 其中 A 为等式左边各方程式的系数项,X 为欲求解的未知项,B 代表等式右边之已知项 要解上述的联立方程式,我们可以利用在第六章介绍的矩阵左除 做运算,即是 X=AB。 如果将原方程式改写成 XA=B,且令 X, A 和 B 分别为 注意上式的 X, B 已改写成列向量,A其实是前一个方程式中 A 的转置矩阵。上式的 X 可以矩阵右除 / 求解,即是 X=B/A。 若以反矩阵运算求解 AX=B, X=B,即是 X=inv(A)*B,或是改写成 XA=B, X=B,即是 X=B*inv(A)。 我们直接以下面的例子来说明这三个运算的用法: A=3 2 -1; -1 3 2; 1 -1 -1; % 将等
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号