预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

#include<iostream>#include<math.h>#include<iomanip>usingnamespacestd;#definekk50//定义最大方程元数intn,i,c,j,ll,hh,gg,mm;doubleA[kk][kk],x[kk][kk],b[kk],y[kk],a[kk],z[kk],m,nn,d,e=1,w,fff; voidmain(){cout<<"**********************************************************************"<<endl;cout<<"***本程序可以用雅可比迭代法,塞德尔迭代法,逐次超松弛法求解线性方程组***"<<endl;cout<<"**********************************************************************"<<endl;//*********************************数据的输入********************************/*bb:*/cout<<"输入的方程元数"<<endl;cin>>n;cout<<"请输入方程系数矩阵:"<<endl;for(i=0;i<n;i++)for(j=0;j<n;j++)cin>>A[i][j];cout<<"请输入右边向量:"<<endl;for(i=0;i<n;i++)cin>>b[i];cout<<"输入你想要的迭代精度(建议1e-5以上)!"<<endl;cin>>fff;cout<<"输入最大迭代次数(建议300次以上)!"<<endl;cin>>mm; ////*******************************判断是否对角占优*************************//for(i=0;i<n;i++)//{//for(j=0;j<n;j++)//{//nn=0;//if(i==j)//{//d=fabs(A[i][i]);//}//else//nn=nn+fabs(A[i][j]);//}//if(nn>d)//{//cout<<"该方程不对角占优,迭代不收敛"<<endl;//cout<<"是否继续?是(0),否(1)"<<endl;//cin>>hh;//if(hh!=1)//gotobb;//elseexit(1);//}//}//********************************计算出迭代矩阵*************************for(i=0;i<n;i++){b[i]=b[i]/A[i][i];for(j=0;j<n;j++){if(i==j){x[i][i]=0;}else{x[i][j]=-A[i][j]/A[i][i];}}}//*******************************输出迭代矩阵*****************************cout<<"计算出迭代矩阵为:"<<endl;for(i=0;i<n;i++){for(j=0;j<n;j++)cout<<x[i][j]<<"";cout<<b[i]<<"";cout<<endl;}//****************************迭代方法的选择*****************************cout<<"请你选择迭代方法!"<<endl;cout<<endl;cout<<endl;cout<<"选用雅可比迭代法,请输入(1)!"<<endl;cout<<endl;cout<<endl;cout<<"选用塞德尔迭代法,请输入(2)!"<<endl;cout<<endl;cout<<endl;cout<<"选用逐次超松弛法,请输入(3)!"<<endl;cout<<endl;cout<<endl;cin>>ll;//*****************************赋迭代初值***********************************cout<<"输入迭代初值"<<endl;for(i=0;i<n;i++)cin>>y[i];intf=1;switch(ll){case1:gotocc;break;case2:gotoaa;break;case3:gotodd;}//***************************雅可比迭代法************************************cc:cout<<"";for(i=1;i<n+1;i++)cout<<"X["<<i<<"]"<<"";cout<<"精度";cout<<endl;co