算法的数值稳定性实验报告用c语言,数值计算方法实验报告课案.doc

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

本科生实验报告

实验课程 数值计算与方法

学院名称

专业名称

学生姓名

学生学号

指导教师

实验地点

实验成绩

二〇一六 年 四 月 二〇一六年 五 月

目录

实验一:舍入误差与数值稳定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语言程序如下:

#include

#include

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语言程序如下

#include

#include

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值