资源简介

数值计算方法中关于Gauss-Seidel 迭代和SOR迭代的通用c++程序

资源截图

代码片段和文件信息

/*数值计算方法lab6
Gauss_Seidel 迭代和松弛迭代通用程序
刘波 pb07210511
*/

#include 
#include 
#include 

using namespace std;
const int N=9;
const double epsilon=0.00000001;

int main()
{
double array[N][N]={
       {31-13000-10000}
       {-1335-90-110000}
       {0-931-1000000}
       {00-1079-30000-9}
       {000-3057-70-50}
       {0000-747-3000}
       {00000-304100}
       {0000-50027-2}
       {000-9000-229}

    };
    double array1[N]={-1527-230-2012-7710};
    double x[N]={000000000};
    double w;
    int icountermin_counter;
    int Gauss_Seidel(double array[][N]double array1[]double x[]);

    int SOR(double array[][N]double array1[]double x[]double w);
    Gauss_Seidel(arrayarray1x);
    cout<    for (i=0;i    {
     cout<<“x[“<    }

    cout<<“The total steps of SOR Iteration is:“<   for( i=1;i<100;i++)
    {
     counter=SOR(arrayarray1xi/50.0);
     if (i==1) {w=i/50.0;min_counter=counter;}
     else if (counter    }
    cout<<“The best w is “<


}

int Gauss_Seidel(double array[][N]double array1[]double x[])
{
double tmax_error=100;
double matrix[N][N]y[N];
int ijcounter=0;

for (i=0;i for (j=0;j matrix[i][j]=array[i][j];
for (i=0;i f

评论

共有 条评论