数值计算方法实验报告课案.docVIP

  • 18
  • 0
  • 约8.83千字
  • 约 21页
  • 2017-05-27 发布于湖北
  • 举报
数值计算方法实验报告课案

本科生实验报告 实验课程 数值计算与方法 学院名称 专业名称 学生姓名 学生学号 指导教师 实验地点 实验成绩 二〇一六 年 四 月 二〇一六年 五 月 目录 实验一:舍入误差与数值稳定 2 1.1 目的与要求 2 1.2 舍入误差和数值稳定性 2 1.2.1 概要 2 1.2.2 程序和实例 2 实验二:方程求根 5 2.2 二分法 5 2.2.1 算法 5 2.2.2 程序与实例 5 实验三 牛顿迭代法 7 2.3.1 算法 7 实验三 牛顿迭代法 10 2.3.1 算法 10 实验四: 列主元高斯消去法 13 4.1 算法 13 4.2 程序与实例 14 实验五:牛顿插值多项式 16 5.1 算法 16 5.2 程序与实例 16 实验一:舍入误差与数值稳定 1.1 目的与要求 (1)通过上机编程,复习巩固以前所学程序设计语言及上机操作指令; (2)通过上机计算,了解舍入误差所引起的数值不稳定性。 1.2 舍入误差和数值稳定性 1.2.1 概要 舍入误差在计算方法中是一个很重要的概念。在实际计算中如果选用了不同的算法,由于舍入误差的影响,将会得到截然不同的结果。因此,选取稳定的算法在实际计算中是十分重要的。 1.2.2 程序和实例 对n=0,1,2,…,40,计算定积分 算法1 利用递推公式 取 ≈0.182322 算法2 利用递推公式 (n=420,39,…,1) 注意到 取 算法1 C语言程序如下: #includestdio.h #includemath.h void main() { double y_0 = log(6.0/5.0),y_1; //定义两个变量y_1,y_2的值// int n=1; //定义循环变量// printf(y[0]=%-20f,y_0); //输出y[0]的值// while(1) //用while循环进行递推运算// { y_1 = 1.0/n-5*y_0; //计算y[n]的值,y_0表示y[n+1],y[1]表示y[n]// printf(y[%d]=%-20f,n,y_1); //输出计算的y[n]值,输出的数值不足20位的补齐空格// if(n=40)break; //n=40,跳出循环// y_0 = y_1; //将y_1的值给y_0成为下一次计算的y[n-1]// n++; //n逐渐叠加// if(n%2==0)printf(\n); //每两个为一组换行// } } 算法2 C语言程序如下 #includestdio.h #includemath.h void main() { double y_0=(1/205.0+1/246.0)/2,y_1; //定义两个双精度变量y_0,y_1,并给y_赋值// int n=40; //赋值n=40// printf(y[40]=%-20f,y_0); //将y以20的域宽输出,并输出y_0的值// while(1) { y_1=1/(5.0*n)-y_0/5.0; //利用递推公式肌算y1// printf(y[%d]=%-20f,n-1,y_1); //输出计算次数n-1级y_(n-1)的值// if(n=1) break;

文档评论(0)

1亿VIP精品文档

相关文档