jacobi迭代法求解线性方程组

jacobi迭代法求解线性方程组

ID:40556849

大小:13.47 KB

页数:3页

时间:2019-08-04

jacobi迭代法求解线性方程组_第1页
jacobi迭代法求解线性方程组_第2页
jacobi迭代法求解线性方程组_第3页
资源描述:

《jacobi迭代法求解线性方程组》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、//========================================================//此程序用gauss-seidel迭代法对方程组进行近似求解//========================================================#include#include#include//========================================================================//全局变量#defi

2、neN20doublea[N][N];//声明系数矩阵doubleb[N];//声明方程组右边的值(数组)doubleeps;//声明相对误差变量doublex[3]={0,0,0};intiteration;//函数声明voidGetData();//此函数用以进行对系数矩阵赋值voidjacobi();/*声明jacobi()函数,用以对方程的增广矩阵进行简单迭代*/voidshow();//显示最后的结果//=====================================================================//以下是

3、主函数voidmain(){printf("============================================================");printf("此程序运用Jacobi迭代法求解方程组的解");printf("============================================================");GetData();jacobi();show();printf("=================================================

4、===========");}//======================================================================//一下定义GetData()函数voidGetData(){FILE*filename;//定义文件的指针inti,j;if((filename=fopen("D:\gauss_seidel.dat","r+"))==NULL){printf("文件打开失败,退出程序!");exit(0);}for(i=0;i<3;i++)fscanf(filename,"%lf,%lf,%l

5、f,%lf",&a[i][0],&a[i][1],&a[i][2],&b[i]);printf("请输入误差允许量:");scanf("%lf",&eps);printf("");printf("对应的系数和方程右边的结果是:");for(i=0;i<3;i++){for(j=0;j<3;j++){printf("%10lf",a[i][j]);}printf("%10lf",b[i]);}printf("求解方程的准许误差是:%8lf",eps);}//=====================================

6、=============================================//以下是对gauss-seidel函数的定义voidjacobi(){inti,j,flag;doubley[3],sum,temp[3],k;do{flag=1;iteration++;for(i=0;i<3;i++){sum=0.0;for(j=0;j<3;j++){if(j!=i)sum+=a[i][j]*x[j];}y[i]=(b[i]-sum)/a[i][i];}{//此段代码求y[i]-x[i]绝对值得最大值for(i=0;i<3;i++)temp[i]=f

7、abs(y[i]-x[i]);for(i=0;i<2;i++)for(j=1;j<3;j++)if(temp[j]>temp[i])k=temp[j];}//k为最大值if(k<=eps)flag=0;for(i=0;i<3;i++)x[i]=y[i];}while(flag==1);}//===============================================================//以下是对show()函数的定义voidshow(){inti;printf("求解的结果是:");for(i=0;i<3;i++)pri

8、ntf("x[%d]=%10lf

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。