数值计算实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科实验报告
课程名称:计算机数值方法
实验项目:方程求根、线性方程组的直接解法、线性方程组的迭代解法、代数插值
实验地点:
专业班级:
学生姓名:
指导教师:
实验一方程求根
}
五、实验结果与分析
二分法实验结果迭代法实验结果
结果分析:本题目求根区间为[1,2],精度满足|x*-x n|<0.5×10-5,故二分法用公式|x*-x n|<(b-a)/ 2n,可求得二分次数并输出每次结果。对迭代法首先要求建立迭代格式。迭代格式经计算已输入程序之中,故直接给初值便可利用迭代法求出精度下的解。
六、讨论、心得
每次的实验都是对已学过的理论知识的一种实战。通过本次实验,我将二分法与迭代法的思路清晰化并且将其变成计算机设计语言编写出来,运用到了实际解决问题上感觉很好。
我自认为本次跟其他同学比较的优点在于我在二分法实现的时候首先利用换底公式将需要的二分次输输出,如此便很清晰明了的知道接下来每一步的意思。
迭代法给我的感觉便是高度的便捷简化,仅用几行代码便可以同样解决问题。相比较二分法来说,我更喜欢迭代的思路。
实验二线性方程组的直接解法
for(k=n-2;k>=0;k--)
{
sum=0;
for(j=k+1;j x[k]=(b[k]-sum)/a[k][k]; } for(i=0;i } 五、实验结果与分析 结果 结果分析: 如上图所示,输入线性方程组元数n=3,则会要求输入3*3的系数矩阵A与向量b构成的增广矩阵。根据算法需要将系数矩阵A消元成上三角矩阵。随后根据矩阵乘法公式变形做对应的回代。 六、讨论、心得 本次实验在编写时候感觉还好,感觉将思路变成了程序设计语言,得以实现题目的要求。但是在运行以及结果分析的时候,感觉到了本实验的一些不足之处:就是我的实验虽然可以实现不同的元数的线性方程组求解,但是缺少了分析初始条件——主元素不能为零。故可以在消元的循环代码中加一条判断语句,以作改进。 其他问题上,在编写的时候遇到了定义变量困难的问题。这点经分析是个人程序设计语言素养还不纯熟,也可归结于对算法的实现还处在初步认识阶段。不过经过本次实践,我确实深刻认识到了课上的理论概念,相信在未来的考试中可以很好的掌握。 实验三线性方程组的迭代解法 printf("%f\t", x[i]); } printf("\n"); } } 五、实验结果与分析 六、讨论、心得 本次实验给我感觉来说比较简单。可能是由于经过了上一个实验,即对线性方程组求解的编程,因此思路还是比较清晰的。对线性方程组的迭代解法如雅可比解法,其重点在于迭代收敛判断、公式以及精度的设置。由于本题给出了直接是严格对角优势矩阵,故没有判断收敛。这也是本实验不足的地方。 实验五代数插值 五、实验结果与分析 六、讨论、心得 该算法主要考虑的便是点的输入与点的代入问题。点的输入根据设置数组以及循环便可以轻松解决。而点的代入则根据不同的算法公式进行。在拉格朗日插值算法中,需要将点代入公式。公式的输入是不需要怎么逻辑的。因此本实验很容易通过。 总体来讲本次实验很顺利。我对此比较感兴趣,因为感觉这个是解决实际问题很有效的思路。以后可以大量用到。