资源描述:
《列主元gauss-jordan消去法求矩阵的逆》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2012-2013(1)专业课程实践论文列主元Gauss-Jordan消去法求矩阵的逆夏文春,0818180226,R数学08-2班董蒙蒙,0818180104,R数学08-1班一、算法理论Gauss消元法始终是消去对角线下方的元素,而Gauss-Jordan列主元消去法是消去对角线上方和下方的元素,是对Gauss消元法的一种修正。Gauss-Jordan列主元消去法在算法复杂度上虽然没有Gauss消元法小,但是它在矩阵求逆理论有重要的应用。Gauss-Jordan列主元消去法求方阵的逆,步骤如下:1detA1;对于k=1,2
2、,…,n做到步82按列选主元素
3、
4、=
5、
6、;,.3如果=0,则计算停止(此时A为奇异矩阵).4如果=k,则转不5,否则换行:(j=1,2,…,n),detA—detA.5detA*detA;6计算h1/;=-h(i=1,2,…,n;ik).7消元计算+.8计算主行.9交换列对于k=n-1,n-2,.......,2,1;1)t=Ip(k);2)如果tk,则转至3),否则换列:(i=1,2,…,n).3)继续循环二、算法框图输出按列选主元素
7、
8、=
9、
10、;i>n按列逐次消元,并且记录每次选取列元所在行如果=k,则转不5,否则换行:(j
11、=1,2,…,n);detA—detA>=0.0000001将初始矩阵的信息数据导入程序输入原始方阵所在文件夹名开始否是否是三、算法程序#include#include#include#include#definea(u,v)a[(u)*n+(v)-w]voidmain(){//-----------------------文件流----------------------------charfilename1[256],filename2[25
12、6];cout<<"Enterthepathtoinputfile:";cin>>filename1;cout<<"Enterthepathtooutputfile:";cin>>filename2;ifstreaminfile(filename1,ios::in
13、ios::nocreate);ofstreamoutfile(filename2);if(!infile){cout<<"Cannotopeninputfile:"<14、定义----------------------------intn,w,k,i,j;int*p;double*a;doublet;//------------------------输入------------------------------infile>>n;w=n+1;p=newint[w];a=newdouble[n*n];for(i=0;i>a[i];//------------------------算法------------------------------for(k=1;
15、kfabs(a(p[k],k)))p[k]=i;}if(a(p[k],k)<1e-10)//step3{cout<<"Aissingular!"<16、i!=k)a(i,k)*=(-a(k,k));//step6for(i=1;i0;k--)//step9if(k!=p[k])for(i=1;i17、<