数值计算方法实验2

数值计算方法实验2

ID:6880256

大小:144.50 KB

页数:4页

时间:2018-01-29

数值计算方法实验2_第1页
数值计算方法实验2_第2页
数值计算方法实验2_第3页
数值计算方法实验2_第4页
资源描述:

《数值计算方法实验2》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验报告学院(系)名称:姓名学号专业班级实验项目函数插值与数值微分课程名称数值计算方法课程代码实验时间实验地点批改意见:成绩教师签字:实验目的:编写线性插值,抛物插值,拉格朗日插值及数值微分等算法程序,上机调试通过。实验环境:硬件环境:IBM-PC或兼容机软件环境:Windows操作系统编程语言:C语言实验内容:一.输入n值,x,以及(xi,yi),i=0,1,…,n,构造拉格朗日插值多项式计算f(x)的值已知列表函数,求当x=0.472时的插值函数值Pn(x):xi0.460.470.480.49yi0.4846

2、550.4937450.5027500.511668二.使用分段抛物线插值方法计算插值点x的函数值已知列表函数,求当t=0.57891时的函数值:xi0.40.50.60.70.8yi0.389420.479430.564640.644220.71736三.用埃特金算法计算插值点函数值已知部分插值表,取插值点个数m=5x0.30.40.50.60.7y0.298500.396460.493110.588130.68122求当x=0.462时的插值函数值。实验步骤:一.拉格朗日插值法实验结果:拉格朗日插值是用插值基函

3、数构造的,下面是拉格朗日插值工式的构造方法:设连续函数y=f(x)在[a,b]上给定n+1个不同结点:x0,x1,…,xn,分别取函数值y0,y1,…,yn,其中yi=f(xi)i=0,1,2,…,n构造一个次数不超过n的插值多项式:使之满足条件即得Pn(x)的表达式:拉格朗日插值法流程图:二.分段抛物线插值法1.插值结点的选择4当x靠近xk-1,即

4、x-xk-1

5、≤

6、x-xk

7、时,我们补选xk-2为结点,令公式中的下标i=k-1;反之,当x靠近xk时,即

8、x-xk-1

9、>

10、x-xk

11、时,则补选xk+1作为结点,而

12、令i=k。当x靠近表头,即x≤x1时,自然取x0,x1,x2作为结点,而令i=1当x靠近表尾,即x>xn-1时,则取i=n-12.用已经选好的插值点进行抛物线插值抛物线插值公式:分段抛物线插值法流程图:三.埃特金插值法1.输入已知n组插值点x与相应的函数值y2.输入待求点R的值及所选取插值点的个数m3.确定待求插值点R在m个插值点中尽量剧中的位置4.在m个插值点中,分别对R进行线性插值,得到m-1个新的插值函数值y5.以上一轮计算的结果作为下一轮计算的初始值,进行反复插值迭代计算。直到进行m-1轮迭代计算之后,以最

13、后得到的最新插值函数ym,作为埃特金插值法的结果。6.输出运算结果ym7.如果再增加一个已知插值点,即由m个点变为m+1个点时,只进行最后一组插值的线性插值计算,所得其精度稍高埃特金插值法流程图:实验结果:一.拉格朗日插值法1.插值多项式P(x)只与数据xi,f(xi)有关,与节点排列顺序无关,与f(x)无关,但余项R(x)与f(x)有关2.f(x)是次数不超过n次的多项式,取n+1个节点插值时,插值多项式就是其自身基函数之和为13.n+1个节点的插值多项式不超过n次,不超过n+1项,可求插值区间[a,b]中任一点

14、函数的近似值44.内插比外推精度高。当给定m个点,取n+1个节点(n+1≤m)作插值多项式,求x点的函数值时,n+1个节点取尽可能靠近x时,余项小,近似程度好5.当节点数变化时,需重新计算全部基函数,因基函数和每一个节点有关6.n=1时是线性插值,n=2时是抛物线插值输入各个插值点的值后,运行程序输出0.495553一.分段抛物线插值法输入各个插值点的值后,通过程序选取离所求点最近的三个点作为抛物线插值的插值点,运行程序后输出:0.547138三.埃特金插值法1.埃特金算法的特点2.插值的反复线性组合3.插值结果含

15、在插值过程中4.继续提高计算精度5.选取m个插值结点的要求输入各个插值点后,运行程序输出0.456558附录(源程序及运行结果):一.拉格朗日插值法#include#include#defineMAX100voidmain(){intn,k=0,j=0;doublex[MAX],y[MAX],x0,y0=0;printf("请输入节点个数n:");scanf("%d",&n);printf("请输入节点值(x,y):");for(inti=0;i

16、%lf",&x[i],&y[i]);printf("输入所求节点的x的值:");scanf("%lf",&x0);while(k!=n){doublet=1;for(intj=0;j

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。