?? 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 + -