当前位置:首页 > 计算方法实验指导书
计 算 方 法
实验指导书
目 录
实验一 牛顿插值公式求函数值
实验二 复化求积公式求积分
实验三 高斯列主元消去法解线性方程组
实验四 简单迭代法解线性方程组
实验五 常微分方程初值问题的数值解
1
实验一 牛顿插值公式求函数值
一、实验目的
理解插值的基本概念,掌握牛顿插值计算函数值的方法及程序实现。 二、实验内容
给定(xi,yi),i?0,1,?,n,构造牛顿插值多项式Nn(x),使得
Nn(x)?yi,i?0,1,?,n
并用所构造的牛顿插值多项式Nn(x),对给定的x计算出Nn(x)的值。 算法描述
输入n值,及(xi,yi),i?0,1,?,n;记f(x)?yi。 for k=0,1,…,n
计算差商f[x0,x1,?,xk]?对给定的x,由
f[x1,x2,?,xk]?f[x0,x1,?,xk?1]
xk?x0Nn(x)?f(x0)?(x?x0)f[x0,x1]?(x?x0)(x?x1)f[x0,x1,x2]?? ?(x?x0)(x?x1)?(x?xn?1)f[x0,x1,?,xn]计算出Nn(x)的值。
输出Nn(x)。 计算实例
给定sin11o=0.190809,sin12o=0.207912,sin13o=0.224951,构造牛顿插值函数并计算sin11o30’。
程序输入:
Input n value:2
Now input the (x_i,Y_i),i=0,…,2: 11 0.190809 12 0. 0.207912 13 0.224951 Now input x value:11.5 程序输出:
newton(11.500000)=0.199369
2
*说明:对n的最大限制在#define 项里说明,如:#define MAX_N 20 //最多有21个点。插值点数据用结构体,如下所示:
typedef struct tagPOINT { double x; double y; }POINT; 三、实验要求
1.独立编写较为通用的用牛顿插值公式求函数值的程序,并上机调试和运行。至少用编制的程序验证两个函数,各函数节点数n>4。记录所用的函数,及程序的输入输出数据并分析误差,
2.将调试好的程序及有关记录分析存盘,交给任课老师。
3
实验二 复化求积公式求积分
一、实验目的
理解数值积分的概念,掌握各种数值积分方法,学会用复化求积公式求积分及编程实现。 二、实验内容
n?111f(b)]的自适应算法求积用复化梯形公式Tn?h[f(a)??f(a?ih)?22i?1分。 算法描述
初始值n?m,h?(b?a)n;
n?111T2?Tn?h[f(a)??f(a?ih)?f(b)];
22i?1T1=T2+100 while |T1-T2|>3? T1=T2;
H?Hn?hn?f(xi?0n?1i?12)
T2=(T1十H)/2,h?h2,n?2n end while 输出T2,n 计算实例
对于f(x)?sin(x),在区间[0,1]上验证梯形公式的自适应公式。初始等分数m=100, 误差控制?<0.00001
程序输入:
Input the begin and end of x(a<=x<=b):0 1 程序输出:
T=0.956447
4
共分享92篇相关文档