第3章节解线性方程组的直接法.pptVIP

  • 4
  • 0
  • 约1.31万字
  • 约 93页
  • 2017-04-01 发布于四川
  • 举报
第3章节解线性方程组的直接法

《数值分析》 主讲教师 第三章 解线性方程组的直接法 3.1 引言与矩阵的一些基础知识 3.2 Gauss消去法 3.3 直接三角分解法 3.4 向量和矩阵范数 3.5 误差分析与病态方程组 §3.1 基础知识 §3.1.1 引言 §3.1.2 矩阵特征值与谱半径 §3.1.3 对称正定矩阵 §3.1.4 正交矩阵与初等矩阵 §3.1.1 引言 对于n个变量n个线性方程组求解,其表达式为: §3.1.2矩阵特征向量与谱半径 §3.1.3 对称正定矩阵 §3.1.4 正交矩阵与初等矩阵 §3.2 Gauss消去法 §3.2.1 Gauss顺序消去法 §3.2.2 消去法与矩阵三角分解 §3.2.3 列主元消去法 §3.2.1 Gauss顺序消去法 §3.2.2消去法与矩阵三角分解 §3.2.3 列主元消去法 §3.3 直接三角分解法 §3.3.1 Doolittle分解法 §3.3.2 Cholesky分解与平方根法 §3.3.3 三对角方程组的追赶法 §3.3.1 Doolittle分解法 §3.3.2 Cholesky分解与平方根法 §3.3.3 三对角方程组的追赶法 直接解法的Matlab求解 1.利用左除运算符的直接解法 对于线性方程组Ax=b,可以利用左除运算符“\”求解: x=A\b 例1 用直接解法求解下列线性方程组。 命令如下: A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]; b=[13,-9,6,0]; x=A\b 2.利用矩阵的分解求解线性方程组 矩阵分解是指根据一定的原理用某种算法将一个矩阵分解成若干个矩阵的乘积。常见的矩阵分解有LU分解、QR分解、Cholesky分解,以及Schur分解、Hessenberg分解、奇异分解等。 (1) LU分解 矩阵的LU分解就是将一个矩阵表示为一个交换下三角矩阵和一个上三角矩阵的乘积形式。线性代数中已经证明,只要方阵A是非奇异的,LU分解总是可以进行的。 MATLAB提供的lu函数用于对矩阵进行LU分解,其调用格式为: [L,U]=lu(X):产生一个上三角阵U和一个变换形式的下三角阵L(行交换),使之满足X=LU。注意,这里的矩阵X必须是方阵。 [L,U,P]=lu(X):产生一个上三角阵U和一个下三角阵L以及一个置换矩阵P,使之满足PX=LU。当然矩阵X同样必须是方阵。 实现LU分解后,线性方程组Ax=b的解x=U\(L\b)或x=U\(L\Pb),这样可以大大提高运算速度。 例2 用LU分解求解例题中的线性方程组。 命令如下: A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]; b=[13,-9,6,0]; [L,U]=lu(A); x=U\(L\b) 或采用LU分解的第2种格式,命令如下: [L,U ,P]=lu(A); x=U\(L\P*b) (2) QR分解 对矩阵X进行QR分解,就是把X分解为一个正交矩阵Q和一个上三角矩阵R的乘积形式。QR分解只能对方阵进行。MATLAB的函数qr可用于对矩阵进行QR分解,其调用格式为: [Q,R]=qr(X):产生一个一个正交矩阵Q和一个上三角矩阵R,使之满足X=QR。 [Q,R,E]=qr(X):产生一个一个正交矩阵Q、一个上三角矩阵R以及一个置换矩阵E,使之满足XE=QR。 实现QR分解后,线性方程组Ax=b的解x=R\(Q\b)或x=E(R\(Q\b))。 例3 用QR分解求解例题中的线性方程组。 命令如下: A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]; b=[13,-9,6,0]; [Q,R]=qr(A); x=R\(Q\b) 或采用QR分解的第2种格式,命令如下: [Q,R,E]=qr(A); x=E*(R\(Q\b)) (3) Cholesky分解 如果矩阵X是对称正定的,则Cholesky分解将矩阵X分解成一个下三角矩阵和上三角矩阵的乘积。设上三角矩阵为R,则下三角矩阵为其转置,即X=RR。MATLAB函数chol(X)用于对矩阵X进行Cholesky分解,其调用格式为: R=chol(X):产生一个上三角阵R,使RR=X。若X为非对称正定,则输出一个出错信息。 [R,p]=chol(X):这个命令格式将不输出出错信息。当X为对称正定的,则p=0,R与上述格式得到的结果相同;否则p为一个正整数。如果X为满秩矩阵,则R为一个阶数为q=p-1的上三角阵,且满足RR=X(1:q,1:q)。 实现Cholesky分解后,线性方程组Ax=b变成R‘Rx=b,所以x=R\(R’\b)。 例4 用Cholesky分解求解例1中的线性方程组。 命令如下: A=[2,1,-

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档