数值分析计算机实验1和2

数值分析实验报告 实验一 舍入误差与数值稳定性

1.实验名称

对 n = 0,1,2,…,20 计算定积分yn = 2.实验目的

学会用递推公式解定积分计算问题,并且学习将算法转换成可以运行的程序。 3.算法描述

算法 1 利用递推公式

11?x?5dx

0xnyn =

1 - 5nyn?1

n = 1,2,…,20

1dx? ln6- ln5 ? 0.182 322 取 y0??x?50算法 2 利用递推公式yn?11120?11?5n51yn n = 20,19,…,1

11112020??xdx??xdx??xdx?注意到 12660x?5510500 取 4.源程序 算法一:

y20?111(?)?0.008 730 20105126#include void main() {

float n=1; float y=0.182322;

cout<<\

}

for(n;n<=20;n++) { }

y=1/n-5*y;

cout<<\

算法二:

#include void main() { }

5.运行结果 算法一运行结果: y0=0.182322 y1=0.08839 y2=0.0580499 double n=20; double y=0.008730;

cout<<\for(n;n>=0;n--) { }

y=1/(5*n)-0.2*y;

cout<<\

y3=0.0430839 y4=0.0345805 y5=0.0270974 y6=0.0311798 y7=-0.0130418 y8=0.190209 y9=-0.839935 y10=4.29967 y11=-21.4075 y12=107.121 y13=-535.526 y14=2677.7 y15=-13388.4 y16=66942.3 y17=-334711 y18=1.67356e+006 y19=-8.36779e+006 y20=4.18389e+007 Press any key to continue 算法二运行结果: y20=0.00873 y19=0.00878032 y18=0.00935505 y17=0.0098937

y16=0.0105213 y15=0.0112291 y14=0.0120399 y13=0.0129766 y12=0.0140713 y11=0.0153676 y10=0.0169265 y9=0.0188369 y8=0.0212326 y7=0.0243249 y6=0.0284684 y5=0.0343063 y4=0.0431387 y3=0.0580389 y2=0.0883922 y1=0.182322

Press any key to continue

6.对算法的理解与分析(包括改进与建议)

在程序运行过程中,将数值定义为浮点型会“警告”,而更改为双精度类型是就不会“警告”。推断是因为参与计算的数有效数字太多,但是,忽略“警告”将得到一样的结果。

实验二 拉格朗日插值与牛顿插值 计算机121班 吴珍珍 122460

一、 目的与要求:

? 熟悉拉格朗日插值多项式和牛顿插值多项式,注意其不同特点; 二、 实验内容:

? 通过拉格朗日插值和牛顿插值多项式的两个实例的计算,了解两种求解方法,分析他们的优缺点。 三、 程序与实例 ? 拉格朗日多项式 算法 1. 2. l

输入xi,yi(i=0,1,2,?,n),令L(xn)=0; 对=0,1,2,?,n计算

li(x)=

?xi?0j?inx?xji?xj

Ln? Ln+li(x)yi 四、 程序与实例 例1已知函数表 xi yi

0.56160 0.82741 0.56280 0.82659 0.56401 0.82577 0.56521 0.82495

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4