📄 gauss-seidel.c
字号:
#include "stdio.h"
#include "math.h"
#define N 25
#define e 0.00001
main()
{ double a[6][6]={{4,-1,0,-1,0,0},{-1,4,-1,0,-1,0},{0,-1,4,-1,0,-1},{-1,0,0,4,-1,0},{0,-1,0,-1,4,-1},{0,0,-1,0,-1,4}};
double x[6]={2,2,2,2,2,2},s[6],b[6]={0,5,0,6,-2,6};
double sum,max;
int i=0,j=0,k=0;
sum=0;max=0;
for(k=0;k<N;k++)
{for(i=0;i<6;i++)
{for(j=0;j<6;j++)
{if(j!=i) sum=sum+a[i][j]*x[j];}
x[i]=(b[i]-sum)/a[i][i];
sum=0;
printf("%f ",x[i]);
for(j=0;j<6;j++)
if(fabs(x[j]-s[j])>max) max=fabs(x[j]-s[j]);
}printf("\n");
for(j=0;j<6;j++) s[j]=x[j];
if(max<=e) break;
max=0;
}printf("times=%d",k);
getchar();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -