《数值方法迭代法解线性方程组实验报告.doc》由会员分享,可在线阅读,更多相关《数值方法迭代法解线性方程组实验报告.doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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。最大误差限,最大迭代步数N及初始迭
2、代向量(2) 令k=1(K<N)1) 令最大误差2) 对于i=1,2na)b)c)判断是否成立,成立则;(比较本次与上次迭代中的对应的值,寻找最大误差)3)判断是否成立a)成立,找到近似解,则输出迭代步数和近似解k,结束程序。b)不成立,则判断k<N是否成立 i 成立,则k=k+1,回到步骤1) ii 否则,输出失败信息,结束程序。2实验步骤(1) 上机前思考解决问题的思路与方法并写好算法;(2) 根据算法编写解决问题的程序;(3) 上机时调试程序发现错误并改正;(4) 运行无误后得到结果;3实验结论(数据及分析结果)4实验小结(收获体会) 这次实验使我对Guass-Seidel迭
3、代法的理解更加深刻,掌握了迭代法解线性方程组的方法,掌握了判别迭代法收敛的基本方法及其运用。三、指导教师评语及成绩评 语评语等级优良中及格不及格1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强2.实验方案设计合理3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)4实验结论正确. 成 绩: 指导教师签名: 批阅日期:附录1:源 程 序#include<stdio.h> #include<math.h> #define eps 1e-4 #define n 2 #define N 10 /以上为定义部分 void main() int i,j,k=1; dou
4、ble t,e,s;double A33=5,2,1,-1,4,2,2,-5,10;double b3=-12,10,1,X3=0,0,0; /以上为输入部分 while(k<=N)/迭代步数从 1 开始,在最大迭代步数之内 e=0.0000; printf("nk=%d ",k);/输出第 k 次迭代 for(i=0;i<=n;i+) t=Xi; s=0.0000; printf("x%d=%ft",i,Xi);/输出 k-1 次迭代后的值作为第 k 次的初值 for(j=0;j<=n;j+) if(j!=i) s=s+Aij*Xj;
5、 Xi=(bi-s)/Aii; /迭代过程,得到 xi的解 if(fabs(Xi-t)>e) e=fabs(Xi-t);/求出最大误差 if(e<=eps) printf("nthe root:nk=%dt",k+1); for(i=0;i<=n;i+) printf("x%d=%ft",i,Xi);break; /如果两次相邻迭代步数求出的解的误差在最大误差限内,则找到解 if(k=N) printf("fail!"); k+;/步数增加 附录2:实验报告填写说明 1实验项目名称:要求与实验教学大纲一致。2实验目的
6、:目的要明确,要抓住重点,符合实验教学大纲要求。3实验原理:简要说明本实验项目所涉及的理论知识。4实验环境:实验用的软、硬件环境。5实验方案(思路、步骤和方法等):这是实验报告极其重要的内容。概括整个实验过程。对于验证性实验,要写明依据何种原理、操作方法进行实验,要写明需要经过哪几个步骤来实现其操作。对于设计性和综合性实验,在上述内容基础上还应该画出流程图、设计思路和设计方法,再配以相应的文字说明。对于创新性,还应注明其创新点、特色。6实验过程(实验中涉及的记录、数据、分析):写明具体实验方案的具体实施步骤,包括实验过程中的记录、数据和相应的分析。7实验结论(结果):根据实验过程中得到的结果,做出结论。8实验小结:本次实验心得体会、思考和建议。9指导教师评语及成绩:指导教师依据学生的实际报告内容,给出本次实验报告的评价。4