资源描述:
《高斯-赛德尔迭代法仿真》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、课程设计报告设计题目:高斯-赛德尔迭代法仿真学院:电子工程学院专业:班级:学号:姓名:电子邮件:日期:成绩:指导教师:西安电子科技大学电子工程学院课程设计任务书学生姓名指导教师职称学生学号专业题目高斯-赛德尔迭代法仿真任务与要求:开始日期完成日期课程设计所在单位高斯-赛德尔迭代法仿真中文摘要大型线性方程组的求解是大规模科学与工程计算的核心。随着计算机的飞速发展,迭代法已取代直接法成为求解大型线性方程组的最重要的一类方法。而判断迭代法好坏的标准通常是通过迭代法的收敛速度刻画的,从而迭代法的收敛速度成为一个很重要的问题,因此我们应该找收敛速度比较快的迭代方法,这样才有
2、实际价值。因此,本文就通过数值实验说明,求线性方程组的近似解时,高斯-赛德尔迭代法的收敛速度比雅可比迭代法的收敛速度要快一些。1.引言随着科学技术的发展,生产实际中出现了大量的大型稀疏线性代数方程组,同时,用差分方法逼近微分方程的过程中,也需要求解这类线性方程组。因而,研究大型稀疏线性方程组的解法成了人们所关注的焦点。由于迭代法能够充分利用矩阵的稀疏性,从而节省存储单元,因而它是解大型稀疏线性代数方程组的比较实用的方法之一。众所周知,构造一个迭代法,它的收敛性和收敛速度是一个关键问题,不收敛的格式自然不能用,而收敛满的方法同样由于其费时且不一定能得出结果使得人们无
3、法使用,这样在实际使用迭代法求解问题时就必须寻求收敛性好且收敛速度较快的方法。20世纪50年代是用数字计算机求解电力系统潮流问题的开始阶段,人们普遍采用以节点导纳矩阵为基础的高斯-赛德尔迭代法。这个方法的原理比较简单,要求的数字计算机的内存量也比较小,适应当时的电子数字计算机制作水平和电力系统理论水平。高斯-赛德尔潮流计算法在牛顿法以及各种解耦法出现以后似乎成了一种边缘性的方法。但是此方法原理简单,编程实现容易,特别是对于配网潮流有其独特优势。2.算法:高斯-赛德尔迭代法2.1算法理论或者思想雅克比迭代法基本思想为对于给定的线性方程组Ax=b,可以用不同的方法把它
4、变为与之等价的行为:x=Bx+f的方程组。选定初值,在反复的迭代中校正方程组根的近似值,并在此过程中求取符合计算精度要求的方程组近似值。高斯-赛德尔迭代法的基本思想跟雅克比迭代法相似。只是在雅克比迭代法中,每次迭代时只用到上次的值,而高斯-赛德尔迭代法充分利用了最新得到的值1.1算法描述(1)雅可比迭代法设线性方程组(1)的系数矩阵A可逆且主对角元素均不为零,令并将A分解成(2)从而(1)可写成令其中.(3)以为迭代矩阵的迭代法(公式)(4)称为雅可比(Jacobi)迭代法(公式),用向量的分量来表示,(4)为(5)其中为初始向量.由此看出,雅可比迭代法公式简单,
5、每迭代一次只需计算一次矩阵和向量的乘法.在电算时需要两组存储单元,以存放及.(2)高斯-赛德尔迭代法由雅可比迭代公式可知,在迭代的每一步计算过程中是用的全部分量来计算的所有分量,显然在计算第i个分量时,已经计算出的最新分量没有被利用,从直观上看,最新计算出的分量可能比旧的分量要好些.因此,对这些最新计算出来的第次近似的分量加以利用,就得到所谓解方程组的高斯—塞德(Gauss-Seidel)迭代法.把矩阵A分解成(6)其中,分别为的主对角元除外的下三角和上三角部分,于是,方程组(1)便可以写成即其中(7)以为迭代矩阵构成的迭代法(公式)(8)称为高斯—塞德尔迭代法(
6、公式),用量表示的形式为(9)由此看出,高斯—塞德尔迭代法的一个明显的优点是,在电算时,只需一组存储单元(计算出后不再使用,所以用冲掉,以便存放近似解.1.1算法的时间复杂度由以下程序可以得出此算法的时间复杂度为O(n)1.2算法的优缺点高斯-赛德尔迭代法的原理比较简单,要求的数字计算机的内存量也比较小,适应当时的电子数字计算机制作水平和电力系统理论水平。但是高斯-赛德尔潮流算法的也有着其致命缺点那就是收敛速度比较慢,尤其是随着电力系统的发展,网络中的节点增多,这个问题将会更加突出。当前高斯-赛德尔只是作为提供初值的一种方法而被使用。先用高斯-赛德尔法进行1-2次
7、迭代,然后再进入牛顿-拉夫逊法的迭代过程。这样可以充分利用这两种方法各自的优点来克服两者各自的缺点。通过在系统中采用这种方法使系统有了一定的稳健性,能够针对各种不同的网络进行潮流计算。1.代码(1)实验目的与要求:对于线性方程组1.用高斯-赛德尔迭代法求此方程组的近似解(终止迭代过程的最大允许迭代次数N,近似解的误差限eps,均由用户设定);2.通过数值实验说明,求此线性方程组的近似解时,高斯-赛德尔迭代法的收敛速度比雅可比迭代法的收敛速度要快一些。(用同样精度要求的条件来比较迭代次数)(2)实验源程序代码:运用MATLAB软件编辑M文件如下:functionEX
8、()a=i