欢迎来到天天文库
浏览记录
ID:52717958
大小:66.50 KB
页数:5页
时间:2020-03-29
《实验二列主元消元法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、列主元消元法解线性方程:学院:计算机与信息工程学院班级:计算机科学与技术师范汉班学号:20081121107姓名:黄志强指导老师:马季驌1.算法分析:列主元消元法解线性方程组的核心思想与高斯消元法一致。都是将增广矩阵中的系数矩阵部分化为上三角形式,然后采用回代或者将系数矩阵化为对角型从而得到方程组的解。只不过在列主元消元法中需要将待处理列的元素中取绝对值最大的那个通过行变换移至对角线位置,作为消元媒介。只需要添加一个找列主元再换行的语句即可。b5E2RGbCAP大多数对程序的说明,都加在程序中作为注释。2.程序代码:#inc
2、ludeusingnamespacestd。floata[20][20]。floatfabs(floatx>{returnx>0?x:-x。}intmain(>{intn,i,j,p,x,y,f,q,bigq。floatk,t,max。cout<<"请依次输入行列式的阶数:"。while(cin>>n&&n>0>{intjudge=1。//作为系数矩阵对应行列式是否为0的标识;cout<<"请输入线性方程组的系数矩阵:"<for(j=1。j<=n。j++>{c
3、in>>a[i][j]。}//输入线性方程组的系数矩阵cout<<"请输入线性方程组的常数列:"<cin>>a[i][n+1]。//输入完毕for(j=1。j<=n。j++>//j代表一大步{5/5cout<<"第"<,bigq=j。q<=n。q++>//q从j开始作比较。原来以第1行开始作比较,出错。从第一行开始会破坏消零布局p1EanqFDPw{if(fabs(a[q][j]>>max>{max
4、=fabs(a[q][j]>。bigq=q。}}cout<<"列主元为第"<//当a[j][j]元为零时,第j行和第bigq行互换;出错:p到n结束;没有交换叙述矩阵RTCrpUDGiT{t=a[j][p]。a[j][p]=a[bigq][p]。a[bigq][p]=t。}cout<<"第"<5、较后的换行处理if(a[j][j]==0>{cout<<"该线性方程组无解或者解不唯一<提前结束):"<<0<j&&max!=0。i-->//i代表第J大步的第i小步{k=-a[i][j]/a[j][j]。for(p=1。p<=n+1。p++>{a[i][p]+=a[j][p]*k。if(a[i][p]<6、0.0001>a[i][p]=0。}//依次消去a[i][j]元,构造上三角行列式cout<<"一小步:行乘系数为:"<{for(y=1。y<=n+1。y++>{cout.setf(ios::left>。cout.width(5>。cout<7、l。}//行列式消去化零情况的跟踪报道}}5/5/**********************************************************************************************************/xHAQX74J0Xfor(j=1。j<=n。j++>//j代表一大步for(i=f=1。i//i代表第J大步的第i小步LDAYtRyKfE{k=-a[i][j]/a[j][j]。for(p=1。p<=n+1。p++>a[i][p]8、+=a[j][p]*k。//依次消去a[i][j]元,由上三角系数矩阵构造对角线系数矩阵/*cout<{for(y=1。y<=n+1。y++>{cout<
5、较后的换行处理if(a[j][j]==0>{cout<<"该线性方程组无解或者解不唯一<提前结束):"<<0<j&&max!=0。i-->//i代表第J大步的第i小步{k=-a[i][j]/a[j][j]。for(p=1。p<=n+1。p++>{a[i][p]+=a[j][p]*k。if(a[i][p]<
6、0.0001>a[i][p]=0。}//依次消去a[i][j]元,构造上三角行列式cout<<"一小步:行乘系数为:"<{for(y=1。y<=n+1。y++>{cout.setf(ios::left>。cout.width(5>。cout<7、l。}//行列式消去化零情况的跟踪报道}}5/5/**********************************************************************************************************/xHAQX74J0Xfor(j=1。j<=n。j++>//j代表一大步for(i=f=1。i//i代表第J大步的第i小步LDAYtRyKfE{k=-a[i][j]/a[j][j]。for(p=1。p<=n+1。p++>a[i][p]8、+=a[j][p]*k。//依次消去a[i][j]元,由上三角系数矩阵构造对角线系数矩阵/*cout<{for(y=1。y<=n+1。y++>{cout<
7、l。}//行列式消去化零情况的跟踪报道}}5/5/**********************************************************************************************************/xHAQX74J0Xfor(j=1。j<=n。j++>//j代表一大步for(i=f=1。i//i代表第J大步的第i小步LDAYtRyKfE{k=-a[i][j]/a[j][j]。for(p=1。p<=n+1。p++>a[i][p]
8、+=a[j][p]*k。//依次消去a[i][j]元,由上三角系数矩阵构造对角线系数矩阵/*cout<{for(y=1。y<=n+1。y++>{cout<
此文档下载收益归作者所有