欢迎来到天天文库
浏览记录
ID:57420836
大小:81.50 KB
页数:4页
时间:2020-08-16
《数值方法迭代法解线性方程组实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、实验概述:1实验目的1)了解Guass-Seidel迭代法的迭代思想;2)熟练掌握Guass-Seidel迭代法的基本原理和基本方法;3)学会用逐次Guass-Seidel迭代法解简单方程组;4)体会数值计算方法的收敛性及收敛速度;5)掌握判别迭代法收敛的基本方法及其运用;2实验原理Guass-Seidel迭代法:迭代格式:(若可逆)为初始向量(矩阵形式)(分量形式)3实验环境VC++6.0WIN10操作系统二、实验内容:1实验方案用Guass-Seidel迭代法求解下列方程组,当满足时结束迭代。(1)输入系数矩阵A,右端项b,矩阵阶数n。最大误差限,最大迭
2、代步数N及初始迭代向量(2)令k=1(K3、-Seidel迭代法的理解更加深刻,掌握了迭代法解线性方程组的方法,掌握了判别迭代法收敛的基本方法及其运用。三、指导教师评语及成绩评语评语等级优良中及格不及格1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强2.实验方案设计合理3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)4实验结论正确.成绩:指导教师签名:批阅日期:附录1:源程序#include#include#defineeps1e-4#definen2#defineN10//以上为定义部分voidmain(){inti,j,k=1;doublet,e,s;4、doubleA[3][3]={{5,2,1},{-1,4,2},{2,-5,10}};doubleb[3]={-12,10,1},X[3]={0,0,0};//以上为输入部分while(k<=N)//迭代步数从1开始,在最大迭代步数之内{e=0.0000;printf("k=%d",k);//输出第k次迭代for(i=0;i<=n;i++){t=X[i];s=0.0000;printf("x%d=%ft",i,X[i]);//输出k-1次迭代后的值作为第k次的初值for(j=0;j<=n;j++){if(j!=i)s=s+A[i][j]*X[j];}X[i5、]=(b[i]-s)/A[i][i];//迭代过程,得到x[i]的解if(fabs(X[i]-t)>e)e=fabs(X[i]-t);//求出最大误差}if(e<=eps){printf("theroot:k=%dt",k+1);for(i=0;i<=n;i++)printf("x%d=%ft",i,X[i]);break;}//如果两次相邻迭代步数求出的解的误差在最大误差限内,则找到解}if(k==N){printf("fail!");}k++;//步数增加}}附录2:实验报告填写说明1.实验项目名称:要求与实验教学大纲一致。2.实验目的:目的要明6、确,要抓住重点,符合实验教学大纲要求。3.实验原理:简要说明本实验项目所涉及的理论知识。4.实验环境:实验用的软、硬件环境。5.实验方案(思路、步骤和方法等):这是实验报告极其重要的内容。概括整个实验过程。对于验证性实验,要写明依据何种原理、操作方法进行实验,要写明需要经过哪几个步骤来实现其操作。对于设计性和综合性实验,在上述内容基础上还应该画出流程图、设计思路和设计方法,再配以相应的文字说明。对于创新性,还应注明其创新点、特色。6.实验过程(实验中涉及的记录、数据、分析):写明具体实验方案的具体实施步骤,包括实验过程中的记录、数据和相应的分析。7.实验结论(结7、果):根据实验过程中得到的结果,做出结论。8.实验小结:本次实验心得体会、思考和建议。9.指导教师评语及成绩:指导教师依据学生的实际报告内容,给出本次实验报告的评价。
3、-Seidel迭代法的理解更加深刻,掌握了迭代法解线性方程组的方法,掌握了判别迭代法收敛的基本方法及其运用。三、指导教师评语及成绩评语评语等级优良中及格不及格1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强2.实验方案设计合理3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)4实验结论正确.成绩:指导教师签名:批阅日期:附录1:源程序#include#include#defineeps1e-4#definen2#defineN10//以上为定义部分voidmain(){inti,j,k=1;doublet,e,s;
4、doubleA[3][3]={{5,2,1},{-1,4,2},{2,-5,10}};doubleb[3]={-12,10,1},X[3]={0,0,0};//以上为输入部分while(k<=N)//迭代步数从1开始,在最大迭代步数之内{e=0.0000;printf("k=%d",k);//输出第k次迭代for(i=0;i<=n;i++){t=X[i];s=0.0000;printf("x%d=%ft",i,X[i]);//输出k-1次迭代后的值作为第k次的初值for(j=0;j<=n;j++){if(j!=i)s=s+A[i][j]*X[j];}X[i
5、]=(b[i]-s)/A[i][i];//迭代过程,得到x[i]的解if(fabs(X[i]-t)>e)e=fabs(X[i]-t);//求出最大误差}if(e<=eps){printf("theroot:k=%dt",k+1);for(i=0;i<=n;i++)printf("x%d=%ft",i,X[i]);break;}//如果两次相邻迭代步数求出的解的误差在最大误差限内,则找到解}if(k==N){printf("fail!");}k++;//步数增加}}附录2:实验报告填写说明1.实验项目名称:要求与实验教学大纲一致。2.实验目的:目的要明
6、确,要抓住重点,符合实验教学大纲要求。3.实验原理:简要说明本实验项目所涉及的理论知识。4.实验环境:实验用的软、硬件环境。5.实验方案(思路、步骤和方法等):这是实验报告极其重要的内容。概括整个实验过程。对于验证性实验,要写明依据何种原理、操作方法进行实验,要写明需要经过哪几个步骤来实现其操作。对于设计性和综合性实验,在上述内容基础上还应该画出流程图、设计思路和设计方法,再配以相应的文字说明。对于创新性,还应注明其创新点、特色。6.实验过程(实验中涉及的记录、数据、分析):写明具体实验方案的具体实施步骤,包括实验过程中的记录、数据和相应的分析。7.实验结论(结
7、果):根据实验过程中得到的结果,做出结论。8.实验小结:本次实验心得体会、思考和建议。9.指导教师评语及成绩:指导教师依据学生的实际报告内容,给出本次实验报告的评价。
此文档下载收益归作者所有