欢迎来到天天文库
浏览记录
ID:33054625
大小:202.88 KB
页数:12页
时间:2019-02-19
《高斯消解法实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、深圳大学实验报告课程名称:计算方法实验项目名称:列主元Gauss消去法学院:计算机与软件学院实验目的:理解线性方程组的直接法求解的基本思路;灵活运用求解线性方程组的直接法一Guass消元法、列主元消去法(或列主元Doolittle法),解决实例问题。并且能对计算结果和算法的性能,如误差、稳定性等进行分析。了解求线性方程组的精度还与问题的形态有关。实验内容:题目1:对教材PP.34-PP.35中例1或例2的数据分别使用Gauss消去法和Gauss列主元算法(或列主元Doolittle法教材PP.45)求解线性方程组Ax=b,比较、分析两种算法的结果。取10位小数计
2、算。题目2:使用Gauss列主元消去法,求解线性方程组Ax=bo对计算结果,给出你的判断和分析。其屮A为教材PP.279屮(4)的数据,对n=10分别取3位和10位小数计算。实验要求:Gauss消元法和Gauss列主元算法编写为独立的函数或过程,在主程序(主函数)中调用,数据的I/O也在其中实现。实验报告的具体要求,见“上机作业总要求”。一、开发环境PC机一台PC微机Windows操作系统MicrosoftVisualStudio8.0集成开发环境二、模型建立(或算法简述》用高斯消去法求解线性方程组的基本思想是设法消去方程组的系数矩阵A的主对角线下的元素,而将A
3、x=b化为等价的上三角形方程组,然后再通过回代过程便可以获得方程组的解。这种解线性方程组的方法,常称为高斯消去法。高斯消去法算法的构造:消元:第一次消元,将方程各列数乘以各自的行乘All/Ail,然后第一列与各列相减,得到第一次消元结果。第2值n-1次消元:将上一次第K-1次消元所得方程Akk作为主方程,k=l到n行各自乘以行乘数Akk/Aik,然后于主方程相减,得到第K次消元结果,以此类推,经过n-1次消元,得到一个上-:角方程。回代:Xn=Bn/Ann,Xn-1=(Bn-1-An-1*Xn)/An-1n-1以此类推,得到Xi的解。列主元高斯消去法算法的构造:
4、在高斯消去法的基础上,在每次消元之前,加一个选主元的步骤。选主元:第1值n次选主元,第K次选主元,比较K到n行的Akk到Aik绝对值的大小,选出值为最大的一行,与第一行交换。其他步骤与没选主元的高斯消去法相同。三、模型求解4.1程序设计G方案〉说明根据上面模型,要设计一个消元的函数,一个回代求解的函数,还有一个选主元的函数。4.2源代码(关键代码要有注释〉选主元高斯消去的程序代码:#inelude"stdio.h"^include"stdlib.h"#inelude"stdafx.h"#include"math,h"#defineN10//矩阵大小范围〃使用己经
5、求出的X,向前计算X(供gotx()调用)doublegetm(doublea[N][N],doublex[N],inti,intn){doublem=0;intr;for(r=i+l;r6、int(b[n-1]/a[n-1][n~l]*1000000000+0.5)/1000000000);else//计算其他x值(对于公式中的求和部分,需要调用getm()函数)result=double(b[i]-int(getm(a,x,i,n)/a[i][i]*1000000000+0.5)/1000000000):returnresult;}doublechoose(doublea[N][N],doubleb[N],intj,intn){doublepl;doublep2;//定义pl和p2交换数pl=a[j][j];intk=j;intl=j;intr;7、for(r=j+l;rfabs(pl))//选出绝对值故大的一个主元{k=r;pl=p2;}for(j=l;j8、rintfC请输入系数矩
6、int(b[n-1]/a[n-1][n~l]*1000000000+0.5)/1000000000);else//计算其他x值(对于公式中的求和部分,需要调用getm()函数)result=double(b[i]-int(getm(a,x,i,n)/a[i][i]*1000000000+0.5)/1000000000):returnresult;}doublechoose(doublea[N][N],doubleb[N],intj,intn){doublepl;doublep2;//定义pl和p2交换数pl=a[j][j];intk=j;intl=j;intr;
7、for(r=j+l;rfabs(pl))//选出绝对值故大的一个主元{k=r;pl=p2;}for(j=l;j8、rintfC请输入系数矩
8、rintfC请输入系数矩
此文档下载收益归作者所有