实验报告 实验三 高斯消去法与矩阵的三角分解 一、实验目的 1、掌握列主元素消去法,并且能够用MATLAB 编写相关程序,实现高斯消去法的求解。 2、能够用矩阵理论理解与研究高斯消去法,通过对矩阵的初等变换实现高斯消去法。 3、学会矩阵的三角分解,并且能够用MATLAB 编写相关程序,实现矩阵的三角分解,解方程组。 二、上机内容 2822171310871234567112345611123451111234111112311111121111111764321xxxxxx 1、用列主元素高斯消去法求解方程组。 2、用列主元消去法求解方程组(实现PA=LU) 要求输出: (1)计算解X; (2)L,U; (3)正整型数组IP(i),(i=1,···,n) (记录主行信息)。 三、实验原理 1、列主元素消去法 用高斯消去法求解方程组时,为了减小误差,在消去的过程中要避免用绝对值较小的主元素。因此在高斯消去法的每一步应该在系数矩阵货消去后的低阶矩阵中选取绝对值较大的元素作为主元素,保持|mik|<=1,以减小计算过程中的舍入误差对计算解的影响。此方法为完全主元素消去法。 完全主元素消去法在选主元素时花费一定的计算机时间,因此实际计算中常用列主元消去法。列主元消去法在每次选主元时,仅依次按列选取绝对值最大的元素作为主元素,且仅交换两行,再进行消元计算。 装 订 线 第k 步计算如下: 对于k=1,2,…,n-1 (1)按列选主元:即确定 t使 (2 )如果 t≠k,则交换[A,b]第t行与第k行元素。 (3 )消元计算 (4 )回代求解 计算流程图 回代求解 b=b/a (当ann≠0) b ←(b -∑a x )/a det=ann*det 输出计算解及行列式及det k=1,2,…,n-1 输入 n ,A,b,ε det=1 按列主元|ai(k),k|=max|aik| C0=ai(k),k 换行 aik ai(k)j (j=k,…n) bk bj(k), 消元计算 (i=k+1,…,n) aik=aik-akk*mik aij=aij-akj*mik (j=k+1,…,n) |C0|<ε ik=k det=akkdet 否 否 是 是 k<=n-1 输出det(A)=0 停机 停机 2. 矩阵的三角分解法 (1)定理 设 nnRA 。如果A 的顺序主子式det(Ai)≠0(i=1,2,…,n-1),则 A 可分解为一个单位下三角阵 与一个上三角阵的乘积,即 A=LU 且分解是唯一的。 (2)计算原理 nnnnnnuuuuuulllA222112112...