计算机编程c语言求解线性代数方程组
(18页)
本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!
14.9 积分
安徽三联学院本科专业学年论文题目:线性方程组求解方法比较姓 名 万里龙 专 业 计算机科学技术系班 级 08级本科(2)班 指导教师 刘晓娜完成日期:2010年11月21日题目:线性方程组求解方法比较摘要随社会的快速发展,随着科学和社会的发展,科学计算己经成为科学计算 的重要方法z—,线性代数已经成为应用数学里非常重要的一门学科了,线性代 数的研究问题己经直接关系到FI常的生产问题,对于提高效率有很大作用。本文 主要介绍了线性代数中的解方程组问题与计算机相结合的方法及实现的结果,由 于计算机技术的飞速发展和普及应用,许多问题经过离散化处理后,需要借助数 值计算,木文详细介绍了三种方法用计算机解决线性方程组的问题,在第二章中 本文详细的介绍了线性代数方程组的三种解法的理论知识与证明过程。为了更加 清晰的展现三种方法的不同点以及其各自的优越性,在第三章有以一个实例来证 明三种算法所得的结果。最后,本文又以计算不岀各种算法的时间复杂度来进一 步说明三种算法的优缺点。关键字:迭代高斯消去LU分解时间复杂度线性方程组雅克比高斯- 赛德尔 第一章绪论 1第二章求解线性方程组常见算法的比较 22. 1 迭代法 22.2高斯消去法 42.3 LU分解法. 5第三章 线性方程组的求根问题 73. 1 迭代法 73.2高斯消去法 93.3 LU分解法 11153.4算法的比较 14参考文献第一章 绪论线性代数问题不但是其他数学课程的基础,也是解决实际问题的工具。另外, 由于计算机技术的飞速发展和普及应用,许多问题经过离散化处理后,需要借助 数值计算,而数值计算离不开线性代数的基础知识。线性代数中许多数值计算与 计算机结合,才能得到更很好,更快,更精准的结果。为了将计算机与线性代数 方程组更好的结合在一起,本文做了比较全面的的解说。本文将线性方程组的求解过程用计算机实现,本文的编写由以下几个特点:① 对于难点问题从具体模型引入(即解决给定的方程组),淡化抽象的概念 与定理,通俗易通;② 注重开放的思维,对于具体以模型本文给岀了多种解题的思想及方法;③ 把问题数学方法与数学思想单独提岀来,并进行简洁易懂的理论证明,既 突岀了线性代数的理论和基本思想,又可以帮助读者对该数学方法的理解。④ 基于了解数学的思想及方法后,本文基于C语言的基础上,给出了详细的 算法以及流程图,以配合读者理解计算机实现该算法的全过程。◎最后,本文简要分析了这些算法的计算效果,稳定性,收敛效果,计算 精度,时间复杂度,优劣性。第二章 求解线性方程组的三种常见算法2.1 迭代法迭代法的基木思想是将线性方程组转化为便于迭代的等价方程组,对任选一 组初始值台(i二1,2…n),按某种计算规则,如:对于给定的线性方程组Ax二b , 我们可以用不同的方法把它变为与之等价的,形为:x二Bx+f的方程组。将上式 改写成迭代式:x(k+u=Bx®+f选定初始值x® ,不断地对所得到的值进行修正,最终获得满足精度要 求的方程组的近似解。对线性方程组:Ax二b,其中,A=(呦)g RZ为奇异矩阵,将A分裂为:A=M-N, 其中,M为非奇异矩阵,且要求线性代数方程组Mx二d容易求解,其中M是A的 分裂矩阵,于是就有Ax二b转化为Mx二Nx+b,即Ax二box二 Nx+ b 由此可构造一个迭代法X(O)(初始向量) (1),如)二B^)+f (k二0, 1, 2, 3, 4, 5 ) (2)其中,B=M_IN=WI (M-A) =1 -M"A, f=M_Ib,通过选取不同的M矩阵,就可得Ax=b解的到不同迭代方法 设色vO (i=l, 2, 3-.. n)将A分为三部分:0 -an ... _吗“_| _少.“° 一。23 一 a2,n-\ ~ a2,n雅克比迭代法(J-迭代法):选取A的分列矩阵M为对角阵,即M二D (对 角阵),因此A二D-N,由此得:x(0)(初始向量) ①严)二BP)+f (k=0, 1, 2, 3, 4, 5 ) 0令卅)=(屮+垮)+址)?…戏))丁,由迭代公式得:Dxa+1)= (L+D)兀⑷+bo*M二 D" (L+U) x{k) + D~lb即有:]_1 Hau x!A+1)二一工 ad x(ik) 一》ati 券)+ 勺 (i二 1, 2, 3….n;J=1 j=mk二0,1, 2 ) 于是,得到解Ax二b得:雅克比的计算公式为:'0)=(屮,閉,…?…卅丁1 i-l 门兀E =匚(勺-亍驴『-匕用)aii ;=1 ./=/+1(k二0, 1, 2, : i=l, 2, 3, n)高斯一塞德尔迭代法(GS—迭代法):选M为A的下三角部分,即M二D-L (下三角矩阵),因此A=M-N,由此得:x(0)(初始向量) ①,2)二B^)+f (k=0, 1, 2, 3, 4, 5 ) 0令严二(屮+疔+垮)???.宅'))丁,由迭代公式得:(D-L),如)二Ux⑷+b即D严)二 Lx(z+U卅)+bo 严)二(D-£)-,Uxw+ (D-L^b得ait x^+[) = S — /兀,+D —工 an x\k} (i=l, 2, 3????? n;>1 J=/+lk=0, 1, 2 ) 于是,得到解Ax=b得:高斯-赛徳尔的计算公式:乂(0)_“(0) V(O) JO)卩A 一 I儿]9 a2 州)1 i-l h&叫_(勺-立屛-5>用)aii J=1 J=/+l (k=0, 1, 2, : i=l, 2, 3, n)2.2高斯消去法高斯顺序消去法的基本思想对线性代数方程组所对应的增广矩阵(A|b)进 行一系列“把某一行的非零常数倍加到另一行上”的初等变换,使得(A|b)中 A的对角线以下的元素全变为0,从而使原方程组等价的转化为容易求解的上三 角形线性代数方程组,再通过回代得到上三角形线性代数方程组的解,即可求得 原方程组的解,对线性方程组:Ax二b ;令增广矩阵为:A(1)=(A(1):Z?(I)) = (A:Z?)……①具体步骤为:a⑴① 消元过程: 令Zzl=-^-,把①式的增广矩阵中的第1行的厶倍依次加到该增广矩阵的第i (i>l)行,则第i(i>l)行第j列位置的元素为:(i, j=2, 3, 4……,n)切⑵=甲)+側⑴"⑴一塔勺⑴ (1=2, 3,……,n)因此,①式可转化为:a(12A(2) =[A⑵"⑵]=0??…疋)e? ?……00Un20 a;?a⑴……竝1■■■■冴)u n-l_ 00a(fl) nn労)② 回代过程:代数方程组经过n-l次消元以后,线性代 关 键 词: 计算机 编程 语言 求解 线性代数 方程组
天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。