欢迎来到天天文库
浏览记录
ID:22288425
大小:132.64 KB
页数:8页
时间:2018-10-28
《数值分析实验,用程序实现列主元消去法解方程组》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、《数值分析》实验报告实验序号:实验二实验名称:列主元消去法解方程组学号:_姓名:任课教师:专业班级:)1、实验目的:用列主元Gauss消元法解n阶线性代数方程组:aH戋+a12x2+...+alnxn=b,a2lx,+a22x2+•..+a2nxn=b2anl^l+an2^+---+ann^n=bn其基本做法是把上述方程组通过列主元Gauss消元转化为一个等价的三角形方程组,然后再进行回代就可以求出方程组的解。列主元消元的基本做法是选取系数矩阵的每一列中绝对值最大的作为主元,然后采取和顺序Gauss消元法相同的步骤进行,求得方程组的解。要求显示出每一个列主元以及每一大步消元后
2、的系数矩阵A(k>a=i,2,...,;!)和常数项b(k)(^=l,2,...,n),S后显示出方程组的解=1,2,...,《)。2、实验内容:(1)实验分析:1.列主元Gauss消元法的算法思想:1.输入增广矩阵B;。2.对A=l,2,…,/?,循环:(a)按列选主元a'=maxIaikIj
3、.,i=k+1,••”n3.回代b:hi-y=/+i/au用右端项6来存放解X。3、实验代码:#include〈iostream〉#include#includeusingnamespacestd;intmain(){intn,t,i,j;//floata[105][105];//doublea[105][105],max,d;cout«endl;cout«H列主元素消元cout«endl;while(1)cout<<"请输入方程阶数cin»n;for(i=l;i<=n;i++)cout«”请输入增广矩阵第”《i«”个方程的系数for(t=l;
4、t<=n+l;t++){cin»a[ij[t];}}intcounter;for(i=l;imax){max=fabs(a[jl[i]);if(a[j][i]!=max)counter=j;}}COUt«"B”《i«n列的列主元为此列中绝对值最大的系数,列主元素在第"《i+l«"行”《M第"《i«"列:"《a[counter][i]«endl;cout«endl;for(intm=i;m<=n;m++)if(fabs(a[m][i]
5、)==max)cout<<’^n<6、’《1«”行进行交//cout«"列主元素在第••《m«n行"《"第n«i«n列n«endl;//cout«endl;for(t=i;t<=n+l;t++){swap(a[m][t],a[i][t]);}}}cout«n经过第n«i«"步变换后增广矩阵为:"«endl;cout«endl;for(intx=l;x<=n;x++){for(inty=1;y<=n+1;y++){cout«setw(6)«a[x][y]«H}cout«endl;}cout«endl;for(intl=i+l;l<=n;l++){for(intx7、=i+1;x<=n+1;x++){a[l][x]=a[l][x]-a[i][x]*(a[l][i]/a[i][i]);}cout«n经过次消元后方程为:”《endl;cout«endl;for(intz=l;z<=n;z++){for(inty=1;y<=n+1;y++){cout«setw(6)«a[z][y]«"”;}cout«endl;}}for(intj=n;j>O;j-){aD][n+l]=a[j][n+l]/a[j]U];a晒]=1;for(intp=j-l;p>0;p—){d=a[p]U]/a8、j]U];a[p]fj]=O;a[p][n+l]=a[p][n+l]9、-a[j][n+l]*d;}}cout«endl;cout<<”输出x的值"《endl«endl;for(intp=l;p<=n;p++)cout<10、主元索.exe,列主元素元法请输入方程阶数:请H•矩i个方摄的系数:10.50.33333333330.251;2个方嗤的系薇:0.50.33333333330.250.20;3个方呈的系數
6、’《1«”行进行交//cout«"列主元素在第••《m«n行"《"第n«i«n列n«endl;//cout«endl;for(t=i;t<=n+l;t++){swap(a[m][t],a[i][t]);}}}cout«n经过第n«i«"步变换后增广矩阵为:"«endl;cout«endl;for(intx=l;x<=n;x++){for(inty=1;y<=n+1;y++){cout«setw(6)«a[x][y]«H}cout«endl;}cout«endl;for(intl=i+l;l<=n;l++){for(intx
7、=i+1;x<=n+1;x++){a[l][x]=a[l][x]-a[i][x]*(a[l][i]/a[i][i]);}cout«n经过次消元后方程为:”《endl;cout«endl;for(intz=l;z<=n;z++){for(inty=1;y<=n+1;y++){cout«setw(6)«a[z][y]«"”;}cout«endl;}}for(intj=n;j>O;j-){aD][n+l]=a[j][n+l]/a[j]U];a晒]=1;for(intp=j-l;p>0;p—){d=a[p]U]/a
8、j]U];a[p]fj]=O;a[p][n+l]=a[p][n+l]
9、-a[j][n+l]*d;}}cout«endl;cout<<”输出x的值"《endl«endl;for(intp=l;p<=n;p++)cout<10、主元索.exe,列主元素元法请输入方程阶数:请H•矩i个方摄的系数:10.50.33333333330.251;2个方嗤的系薇:0.50.33333333330.250.20;3个方呈的系數
10、主元索.exe,列主元素元法请输入方程阶数:请H•矩i个方摄的系数:10.50.33333333330.251;2个方嗤的系薇:0.50.33333333330.250.20;3个方呈的系數
此文档下载收益归作者所有