数值分析上机报告:线性方程组求解算法比较与分析

需积分: 23 1 下载量 125 浏览量 更新于2024-01-19 收藏 1.72MB DOCX 举报
数值分析是研究利用计算机进行数值计算的一门学科,它利用数学模型、数学方法和计算机算法来解决实际问题。在数值分析课程中,有一些常用的算法和实例,涉及解线性方程组、插值、拟合以及求实根等。 本次实验的目标是对不同类型的线性方程组进行计算,并比较使用不同算法所得到的解。具体包括以下几个步骤: 一、问题的描述 我们给出了几个不同类型的线性方程组,需要利用适当的算法来计算它们的解。具体要求如下: 1. 对三个方程组分别使用高斯顺序消去法、高斯列主元消去法、平方根法和改进平方根法、追赶法求解,选择其中一种算法进行计算; 2. 编写通用程序,能够适用于任意线性方程组的计算; 3. 比较计算结果,分析数值解误差的原因。 二、方法描述 1. 高斯顺序消元法 高斯顺序消元法是一种常用的解线性方程组的方法。主要步骤如下: a) 判断方程组的解是否存在; b) 对方程组进行消元操作,将其转化为上三角矩阵; c) 回代求解方程组。 这里我们以2阶方程组为例进行说明: 假设有方程组Ax=b,其中A=[a11 a12;a21 a22],x=[x1;x2],b=[b1;b2]。消元过程如下: 令k=a21/a11,进行消元得到新的方程组: a11*x1 + a12*x2 = b1 a22 - a12*k = b2 - b1*k 令单位矩阵为E,可以得到I=E*k*E,其中E(i,:)=[1 0 k]。 再进行回代求解得到xn = bn' / an'n,其中bi'表示变换后的bi,xi表示第i个未知数。 2. 平方根法 平方根法是一种效率更高的求解线性方程组的方法。具体步骤如下: 设A=L*LT,其中L为下三角矩阵,可以通过逐列计算获得L的每个元素。 首先计算L的第一列,l11 = √a11,li1 = a21 / l11。 然后依次计算其余列,l12 = a12 / l11,l22 = √(a22 - l12*l12),li2 = (a32 - l12*l22) / l22,以此类推。 最后利用LLTx=b解方程组,先解Ly=b,再解LTx=y。 三、数值解分析 通过使用不同的算法进行计算,并比较计算结果,可以得到以下几点分析: 1. 高斯消元法和追赶法适用于一般的线性方程组,但在某些情况下可能会出现数值不稳定的问题。对于大规模的方程组,计算效率可能较低。 2. 高斯列主元消去法可以消除高斯消元法的数值不稳定性,但计算效率更低。 3. 平方根法和改进的平方根法适用于对称正定矩阵的线性方程组,能够提高计算效率。 4. 数值解误差的原因可能包括舍入误差、截断误差和算法选择等。在实际计算中,我们应该选择合适的算法,以减小误差的影响。 综上所述,通过本次实验的计算和分析,我们可以更深入地理解数值分析中常用的算法和实例,并了解到不同算法对于不同类型的线性方程组的适用性和计算效率。在实际应用中,我们需要根据问题的具体要求选择合适的算法,并注意数值解误差的控制。
2010-03-17 上传
课题一: 线性方程组的迭代法 一、实验内容 1、设线性方程组 = x = ( 1, -1, 0, 1, 2, 0, 3, 1, -1, 2 ) 2、设对称正定阵系数阵线方程组 = x = ( 1, -1, 0, 2, 1, -1, 0, 2 ) 3、三对角形线性方程组 = x = ( 2, 1, -3, 0, 1, -2, 3, 0, 1, -1 ) 试分别选用Jacobi 迭代法,Gauss-Seidol迭代法和SOR方法计算其解。 二、实验要求 1、体会迭代法求解线性方程组,并能与消去法做以比较; 2、分别对不同精度要求,如 由迭代次数体会该迭代法的收敛快慢; 3、对方程组2,3使用SOR方法时,选取松弛因子 =0.8,0.9,1,1.1,1.2等,试看对算法收敛性的影响,并能找出你所选用的松弛因子的最佳者; 4、给出各种算法的设计程序和计算结果。 三、目的和意义 1、通过上机计算体会迭代法求解线性方程组的特点,并能和消去法比较; 2、运用所学的迭代法算法,解决各类线性方程组,编出算法程序; 3、体会上机计算时,终止步骤 (予给的迭代次数),对迭代法敛散性的意义; 4、体会初始解 x ,松弛因子的选取,对计算结果的影响。 课题二:数值积分 一、实验内容 选用复合梯形公式,复合Simpson公式,Romberg算法,计算 (1) I = (2) I = (3) I = (4) I = 二、实验要求 1、 编制数值积分算法的程序; 2、 分别用两种算法计算同一个积分,并比较其结果; 3、 分别取不同步长 ,试比较计算结果(如n = 10, 20等); 4、 给定精度要求 ,试用变步长算法,确定最佳步长。 三、目的和意义 1、 深刻认识数值积分法的意义; 2、 明确数值积分精度与步长的关系; 3、 根据定积分的计算方法,可以考虑二重积分的计算问题。 四、流程图设计