数值分析实验二(列主元Gauss消去法)
《数值分析实验二(列主元Gauss消去法)》由会员分享,可在线阅读,更多相关《数值分析实验二(列主元Gauss消去法)(3页珍藏版)》请在装配图网上搜索。
1、数值分析实验报告实验编号:实验二课题名称:列主元Gauss消去法一、算法介绍1、输入矩阵的阶数n,方程组的增广矩阵A;2、对k=0,1,,n-2,循环:选取列中绝对值最大的元素,将主元所在的行的元素保存在 数组tempn+1中。若主元为零,则系数矩阵奇异,计算停止;否则,顺序进行。如 果绝对值最大的元素就在矩阵的对角线上,则进行普通高斯消元法的第一大步,否则 将方程组系数换行之后再进行普通高斯消元法的第一大步;3、然后利用回代法求解线性方程组。二、程序代码#include#include#includeusing namespace std;int main()int n=0,k=0,i=0,
2、j=0,h=0,g=0,flag=0,i1,j1;double max=0,m=0;coutvv*利用列主元Gauss消元法求解线性方程组*endl;coutn;double ann+1;double tn+1;double xn;memset(a,0,sizeof(a);memset(x,0,sizeof(x);cout请输入方程组的增广矩阵:vvendl;for(i=0;iaij;for(k=0;kvn-1;k+)max=0;j1=0;for(i=k;ivn;i+)if(fabs(aik)max)max=fabs(aik);i1=i;j1=k;if(max=0)cout该系数矩阵为奇异矩阵
3、,计算停止endl;flag=1;break;else cout第j1+1列中绝对值最大的元素是ai1j1 ,在线性方程组的第i1+1行endl;if(i1!=k)for(j=0;j=n;j+)tj=ai1j;ai1j=akj;akj=tj;for(i=k+1;i=n-1;i+)m=aik/akk;for(j=k;j=n;j+)aij=aij-m*akj;for(g=0;gn;g+)for(h=0;hn+1;h+)coutsetiosflags(ios:fixed)setprecision(2)agh;coutendl;cout=0;k-)sum=0;for(i=n-1;i=k;i-)sum+=aki*xi;xk=(akn-sum)/akk;、该线性方程组的解为:endl;for(i=0;in;i+)coutxi+1=setiosflags(ios:fixed)setprecision(2)xiendl;system(pause);return 0;三、运算结果截屏四、算法分析列主元Gauss消元法避免了普通高斯消元法中出现的问题:遇到某个主元为零或者当主元绝对值很 小时,计算将会停止或求出的结果将与其实际结果相差很远。但是当方程组各行系数的量级相差很大时 列主元Gauss高斯消元法就会失效,也会使方程组的结果不准确。
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。