📄 gause-sidel.cpp
字号:
#include<iostream.h>
#include<math.h>
void seidel(double a[4][4],double b[4],double x[4],double pe)
{ int i,j,n=4;
double t,e,temp;
for(i=0;i<n;i++)
x[i]=0;
do
{
e=0;
for(i=0;i<n;i++)
{
t=x[i];
temp=0;
for(j=0;j<n;j++)
if(j!=i) temp+=a[i][j]*x[j];
x[i]=(b[i]-temp)/a[i][i];
if(fabs(x[i]-t)>e) e=fabs(x[i]-t);
}
}while(e>pe);
cout<<"结果为:\n";
for(i=0;i<n;i++)
cout<<"x"<<i+1<<"="<<x[i]<<"\n";
}
void main()
{
cout<<"gauss-seidel迭代法解线性方程组:\n";
double a[4][4]={-4,1,1,1,1,-4,1,1,1,1,-4,1,1,1,1,-4};
double b[4]={1,1,1,1};
double x[4],pe=0.0000001;
seidel(a,b,x,pe);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -