欢迎来到天天文库
浏览记录
ID:28605570
大小:366.50 KB
页数:23页
时间:2018-12-11
《雅可比迭代法与矩阵特征值》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、-实验五矩阵的lu分解法,雅可比迭代法班级:学号:姓名:.---实验五矩阵的LU分解法,雅可比迭代一、目的与要求:Ø熟悉求解线性方程组的有关理论和方法;Ø会编制列主元消去法、LU分解法、雅可比及高斯—塞德尔迭代法德程序;Ø通过实际计算,进一步了解各种方法的优缺点,选择合适的数值方法。二、实验内容:Ø会编制列主元消去法、LU分解法、雅可比及高斯—塞德尔迭代法德程序,进一步了解各种方法的优缺点。三、程序与实例Ø列主元高斯消去法算法:将方程用增广矩阵[A∣b]=(表示1)消元过程对k=1,2,…,n-1①选主元,找使得=②如果,则矩阵A奇异,程序结束;否则执行③。③如果,则交换第k行与第行对应
2、元素位置,j=k,┅,n+1④消元,对i=k+1,┅,n计算对j=l+1,┅,n+1计算2)回代过程①若,则矩阵A奇异,程序结束;否则执行②。②;对i=n-1,┅,2,1,计算程序与实例程序设计如下:.---#include#includeusingnamespacestd;voiddisp(double**p,introw,intcol){for(inti=0;i3、=================================="<>p[i][j];}}intfindMax(double**p,intstart,int4、end){intmax=start;for(inti=start;iabs(p[max][start]))max=i;}returnmax;}voidswapRow(double**p,intone,intother,intcol){doubletemp=0;for(inti=0;i5、+){intflag=findMax(p,i,row);//找列主元行号if(p[flag][i]==0)returnfalse;swapRow(p,i,flag,col);//交换行for(intj=i+1;j6、-1;i++){if(i==row)continue;sum+=(q[i]*p[row][i]);}returnsum;}voidback(double**p,introw,intcol,double*q){for(inti=row-1;i>=0;i--){q[i]=(p[i][col-1]-sumRow(p,q,i,col))/p[i][i];}}intmain(){cout<<"Inputn:";intn;//方阵的大小cin>>n;double**p=newdouble*[n];for(inti=0;i7、,n,n+1);if(!dispel(p,n,n+1)){cout<<"奇异"<
3、=================================="<>p[i][j];}}intfindMax(double**p,intstart,int
4、end){intmax=start;for(inti=start;iabs(p[max][start]))max=i;}returnmax;}voidswapRow(double**p,intone,intother,intcol){doubletemp=0;for(inti=0;i5、+){intflag=findMax(p,i,row);//找列主元行号if(p[flag][i]==0)returnfalse;swapRow(p,i,flag,col);//交换行for(intj=i+1;j6、-1;i++){if(i==row)continue;sum+=(q[i]*p[row][i]);}returnsum;}voidback(double**p,introw,intcol,double*q){for(inti=row-1;i>=0;i--){q[i]=(p[i][col-1]-sumRow(p,q,i,col))/p[i][i];}}intmain(){cout<<"Inputn:";intn;//方阵的大小cin>>n;double**p=newdouble*[n];for(inti=0;i7、,n,n+1);if(!dispel(p,n,n+1)){cout<<"奇异"<
5、+){intflag=findMax(p,i,row);//找列主元行号if(p[flag][i]==0)returnfalse;swapRow(p,i,flag,col);//交换行for(intj=i+1;j6、-1;i++){if(i==row)continue;sum+=(q[i]*p[row][i]);}returnsum;}voidback(double**p,introw,intcol,double*q){for(inti=row-1;i>=0;i--){q[i]=(p[i][col-1]-sumRow(p,q,i,col))/p[i][i];}}intmain(){cout<<"Inputn:";intn;//方阵的大小cin>>n;double**p=newdouble*[n];for(inti=0;i7、,n,n+1);if(!dispel(p,n,n+1)){cout<<"奇异"<
6、-1;i++){if(i==row)continue;sum+=(q[i]*p[row][i]);}returnsum;}voidback(double**p,introw,intcol,double*q){for(inti=row-1;i>=0;i--){q[i]=(p[i][col-1]-sumRow(p,q,i,col))/p[i][i];}}intmain(){cout<<"Inputn:";intn;//方阵的大小cin>>n;double**p=newdouble*[n];for(inti=0;i7、,n,n+1);if(!dispel(p,n,n+1)){cout<<"奇异"<
7、,n,n+1);if(!dispel(p,n,n+1)){cout<<"奇异"<
此文档下载收益归作者所有