⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 高斯-赛德尔迭代法-cpp.txt

📁 高斯-赛德尔迭代法-cpp.
💻 TXT
字号:
#include<iostream.h> 
#include<math.h> 
#define N 100 

void main() 
{ 
int i; 
float *x; 
float c[12]={8.0,-3.0,2.0,20.0, 
4.0,11.0,-1.0,33.0, 
6.0,3.0,12.0,36.0}; //here must be modifed 
float *GauseSeidel(float *,int); 
x=GauseSeidel(c,3); 
for( i=0;i<=2;i++ ) 
cout<<"x["<<i<<"]="<<x[i]<<endl; 
} 


float *GauseSeidel(float *a,int n) 
{ 

int i,j,nu=0; 
float *x,dx; 
x =new float[n*sizeof(float)]; 
for( i=0;i<=n-1;i++ ) 
x[i]=0.0; 
do 
{ 
for( i=0;i<=n-1;i++ ) 
{ 
dx=0.0; 
for( j=0;j<=n-1;j++ ) 
dx+=*(a+i*(n+1)+j)*x[j]; 
dx=(*(a+i*(n+1)+n)-dx)/(*(a+i*(n+1)+i)); 
x[i]+=dx; 
} 
if( nu>N ) 
{ 
cout<<"迭代发散\n"; 
return 0; 
} 
nu++; 
} 
while(fabs(dx)>1e-6); 
return x; 
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -