资源简介
高斯迭代的c++的计算方法的源程序,可以自己设置迭代次数,精确度高
代码片段和文件信息
#include
#include
#include
#define N 4
main()
{ int ijk;
double a[N][N]={5-1-1-1
-1 10-1-1
-1-15-1
-1-1-110}b[N]={-412834}x[N]={0000}eps=0.000000001sdett;
FILE *fp;
fp=fopen(“gauss_Seidel““w+“);
printf(“%d\n“fp);
if(fp==NULL)
{printf(“Cannot open file!\n“);
getch();
exit(0);
}
else printf(“File opened success!\n“);
/* printf(“please input the coefficient matrix of the system a[N][N]:\n“);
for(i=0;i for(j=0;j scanf(“%lf“&a[i][j]);
printf(“please input the vector b[N]:\n“);
for(i=0;i scanf(“%lf“&b[i]);
printf(“please input the initial value x[N]:\n“);
for(i=0;i scanf(“%lf“&x[i]);
printf(“please input the eps:\n“);
scanf(“%lf“&eps);*/
k=0;
do
{k=k+1;
det=0;
for(i=0;i { s=0.0;
/* for(j=0;j if(j!=i)s=s+a[i][j]*x[j];*/
for(j=0;j for(j=i+1;j
t=(b[i]-s)/a[i][i];
if(fabs(x[i]-t)>det)det=fabs(x[i]-t);
x[i]=t;
fprintf(fp“%-18.16lf “x[i]);
}
fprintf(fp“\n“);
}while(det>=eps);
printf(“the iteration times k=%d\n“k);
for(i=0;i printf(“x[%d]=%f\n“i+1x[i]);
fclose(fp);
getch();
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1601 2011-10-26 23:45 Gauss_Seidel1.c
- 上一篇:MFC显示图片的相关文件
- 下一篇:遗传算法C++
评论
共有 条评论