一、实验概述:1实验目的1)了解Guass-Seidel迭代法的迭代思想;2)熟练掌握Guass-Seidel迭代法的基本原理和基本方法;3)学会用逐次Guass-Seidel迭代法解简单方程组;4)体会数值计算方法的收敛性及收敛速度;5)掌握判别迭代法收敛的基本方法及其运用;2实验原理Guass-Seidel迭代法:迭代格式:bxULDbAx)((若LD可逆)bLDUxLDx11)()(2,1,0,)()1(KCGxxkk)0(11,)(,)(GxbLDCULD为初始向量(矩阵形式)),,2,1(),(11)()1(11)1(nibxaxaaxnijikjijkjijijiiki(分量形式)3实验环境VC++6.0WIN10操作系统二、实验内容:1实验方案用Guass-Seidel迭代法求解下列方程组,当满足4)()1(10||||kkxx时结束迭代。1105210241225321321321xxxxxxxxx(1)输入系数矩阵A,右端项b,矩阵阶数n。最大误差限,最大迭代步数N及初始迭代向量),,2,1(nixi(2)令k=1(KN)1)令最大误差0e2)对于i=1,2……n1a)ixib))(11jnijjijiiiixabaxc)判断eixi||是否成立,成立则||txet;(比较本次与上次迭代中的对应tx的值,寻找最大误差)3)判断e是否成立a)成立,找到近似解,则输出迭代步数和近似解k,结束程序。b)不成立,则判断kN是否成立i成立,则k=k+1,回到步骤1)ii否则,输出失败信息,结束程序。2实验步骤(1)上机前思考解决问题的思路与方法并写好算法;(2)根据算法编写解决问题的程序;(3)上机时调试程序发现错误并改正;(4)运行无误后得到结果;3实验结论(数据及分析结果)4实验小结(收获体会)这次实验使我对Guass-Seidel迭代法的理解更加深刻,掌握了迭代法解线性方程组的方法,掌握了判别迭代法收敛的基本方法及其运用。2三、指导教师评语及成绩评语评语等级优良中及格不及格1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强2.实验方案设计合理3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)4实验结论正确.成绩:指导教师签名:批阅日期:附录1:源程序#includestdio.h#includemath.h#defineeps1e-4#definen2#defineN10//以上为定义部分voidmain(){inti,j,k=1;doublet,e,s;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(\nk=%d,k);//输出第k次迭代for(i=0;i=n;i++){t=X[i];s=0.0000;printf(x%d=%f\t,i,X[i]);//输出k-1次迭代后的值作为第k次的初值for(j=0;j=n;j++){if(j!=i)s=s+A[i][j]*X[j];}X[i]=(b[i]-s)/A[i][i];//迭代过程,得到x[i]的解if(fabs(X[i]-t)e)3e=fabs(X[i]-t);//求出最大误差}if(e=eps){printf(\ntheroot:\nk=%d\t,k+1);for(i=0;i=n;i++)printf(x%d=%f\t,i,X[i]);break;}//如果两次相邻迭代步数求出的解的误差在最大误差限内,则找到解}if(k==N){printf(fail!);}k++;//步数增加}}附录2:实验报告填写说明1.实验项目名称:要求与实验教学大纲一致。2.实验目的:目的要明确,要抓住重点,符合实验教学大纲要求。3.实验原理:简要说明本实验项目所涉及的理论知识。4.实验环境:实验用的软、硬件环境。5.实验方案(思路、步骤和方法等):这是实验报告极其重要的内容。概括整个实验过程。对于验证性实验,要写明依据何种原理、操作方法进行实验,要写明需要经过哪几个步骤来实现其操作。对于设计性和综合性实验,在上述内容基础上还应该画出流程图、设计思路和设计方法,再配以相应的文字说明。对于创新性,还应注明其创新点、特色。6.实验过程(实验中涉及的记录、数据、分析):写明具体实验方案的具体实施步骤,包括实验过程中的记录、数据和相应的分析。7.实验结论(结果):根据实验过程中得到的结果,做出结论。8.实验小结:本次实验心得体会、思考和建议。9.指导教师评语及成绩:指导教师依据学生的实际报告内容,给出本次实验报告的评价。