資源簡介
高斯迭代的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++
評論
共有 條評論