湖南大学电气与信息工程学院 《数值计算》课程 上机实验报告姓名: 班级: 学号:日期:指导老师: 本次实验题号:第 2 次实验一
实验目的: 了解 gauss 消去法和迭代法 matlab 算法实现求任意方程组的根
实验内容:用 gauss 消去法和迭代法求解下列线性方程组:1
求出 gauss 消去法的上三角矩阵和方程组的解,并在命令窗口显示;2
显示迭代法求解过程中所有结果()要求求解精度达到 10^—5
算法介绍或方法基础1)消去法:消元过程:设,令乘数,做(消去第 i 个方程组的)操作×第 1 个方程+第 i 个方程(i=2,3,
n)则第 i 个方程变为这样消去第 2,3,
,n 个方程的变元后
原线性方程组变为:这样就完成了第 1 步消元
回代过程:在最后的一方程中解出,得:再将的值代入倒数第二个方程,解出,依次往上反推,即可求出方程组的解:其通项为 高斯赛德尔迭代法:由雅可比迭代公式可知,在迭代的每一步计算过程中是用的全部重量来计算的所有重量,显然在计算第 i 个重量时,已经计算出的最新重量没有被利用,从直观上看,最新计算出的重量可能比旧的重量要好些
因此,对这些最新计算出来的第次近似的重量加以利用,就得到所谓解方程组的高斯—塞德(Gauss—Seidel)迭代法
把矩阵 A 分解成 (6) 其中,分别为的主对角元除外的下三角和上三角部分,于是,方程组(1)便可以写成 即其中 (7)以为迭代矩阵构成的迭代法(公式) (8)称为高斯—塞德尔迭代法(公式),用 量表示的形式为 (9)由此看出,高斯—塞德尔迭代法的一个明显的优点是,在电算时,只需一组存储单元(计算出后不再使用,所以用冲掉,以便存放近似解
程序1) 消去法:function x=gauss(A,b)n=length(b);A=[A,b]; for k=1:(n-1) A((