牛顿插值法实验报告.docx
《牛顿插值法实验报告.docx》由会员分享,可在线阅读,更多相关《牛顿插值法实验报告.docx(7页珍藏版)》请在冰点文库上搜索。
牛顿插值法实验报告
牛顿插值法实验报告
篇一:
牛顿插值法实验报告
牛顿插值法
一、实验目的:
学会牛顿插值法,并应用算法于实际问题。
二、实验内容:
给定函数f?
x,已知:
f?
?
f?
f?
?
三、实验要求:
(1)用牛顿插值法求4次Newton插值多项式在处的值,以此作为函数的近似值?
N。
在MATLAB中用内部函数ezplot绘制出4次Newton插值多项式的函数图形。
(2)在MATLAB中用内部函数ezplot可直接绘制出以上函数的图形,并与作出的4次Newton插值多项式的图形进行比较。
四、实验过程:
1、编写主函数。
打开Editor编辑器,输入Newton插值法主程序语句:
function[y,L]=newdscg
n=length;z=x;A=zeros;A=Y’;s=;p=;
forj=2:
n
fori=j:
n
A=-A)/-X);
end
end
C=A;
fork=:
-1:
1
C=conv));
d=length;C=C+A;
end
y=polyval;
L=poly2sym;
%%%%%%%%%%%%%%%%%%
t=[2,,,,];
fx=sqrt;
wucha=fx-Y;
以文件名保存。
2、运行程序。
(1)在MATLAB命令窗口输入:
>>X=[2,
,,,];Y
=[,,,,];
x=;[y,P]=newdscg
回车得到:
y=
wucha=*
-
P=-/2305843009213693952+
/288230376151711744-
/1125899906842624+
/2251799813685248+
1865116246031207/4503599627370496
(2)在MATLAB命令窗口输入:
>>v=[0,6,-1,3];
>>ezplot,axis,grid
>>holdon
>>x=0:
:
6;
>>yt=sqrt;plot
>>legend
>>xlabel
>>ylabel
>>title
回车即可得到图像1-1。
图1-1牛顿插值效果
五、实验结果分析:
由上运行
(1)的程序可得,用牛顿插值法求4次Newton插值多项式在处函数的近似值?
N=。
由在MATLAB中用内部函数ezplot直接绘制出出的4次Newton插值图形与原函数的图形知,4次Newton插值图形在区间[0,1]与区间[4,5]内与原函数存在一定的偏差,而在区间[1,4]内误差在10的-6次方,这个精度是非常高的。
因此,在计算区间[1,4]内的值时结果是比较准确的。
篇二:
牛顿插值法报告
河北大学数计学院
数值计算Newton插值多项式实验报告
课程名称:
数值计算
授课老师:
高少芹学学日
生:
耿福顺号:
2010433045期:
2012/11/27
一、实验目的:
1、掌握牛顿插值法的基本思路和步骤。
2、培养编程与上机调试能力。
二、实验原理:
给定插值点序列(xi,f),i?
0,1,?
?
n,。
构造牛顿插值多项式Nn。
输入要计算的函数点x,并计算Nn的值,利用牛顿插值公式,当增加一个节点时,只需在后面多计算一项,而前面的计算仍有用;另一方面Nn的各项系数恰好又是各阶均差,而各阶均差可用均差公式来计算。
为的一阶均差。
为
均差表:
的k阶均差。
1.输入n值及(xi,f),i?
0,1,?
?
n,;要计算的函数点x。
2.对给定的x,由
Nn?
f?
f?
x0,x1?
?
f?
x0,x1,x2?
?
?
?
?
f?
x0,x1?
xn?
计算Nn的值。
3.输出Nn。
三、源代码:
#include““#includeusingnamespacestd;#include
voidf1;voidf2;
voidf3;
int_tmain{cout>n;double*x=newdouble[n];double*y=newdouble[n];inti;for{cout>x[i];cout>y[i];}cout篇三:
c++实现牛顿插值法实验报告
数值实验
用Newton商差公式进行插值
姓名:
陈辉
学号:
13349006
院系:
数据科学与计算机学院专业:
计算机科学与技术班级:
计科一班
日期:
2015-10-11指导老师:
纪庆革
目录
一、二、三、四、五、六、七、八、
实验目的..........................................................................................3实验题目..........................................................................................3实验原理与基础理论........................................................................3实验内容..........................................................................................6实验结果........................................................................................10心得体会........................................................................................14参考资料........................................................................................14附录(源代码).............................................................................14
一、实验目的
编写一个程序,用牛顿差商公式进行插值。
二、实验题目
编写一个程序,用牛顿差商公式进行插值。
三、实验原理与基础理论
牛顿插值公式为:
?
?
?
?
?
?
=?
?
?
?
0+?
?
?
?
0,?
?
1?
?
?
?
?
0+?
+?
?
?
?
0,…,?
?
?
?
?
?
?
?
?
0…其中,
10
?
?
?
?
1,…?
?
?
?
?
?
?
[?
?
0,…,?
?
?
?
]
?
?
?
?
0,…,?
?
?
?
=
?
?
0
我们将从键盘读入n阶牛顿插值的n+1个节点?
?
?
?
?
?
?
?
?
?
=0,1,…,?
?
,以此得出牛顿插值多项式。
有了节点,我们只需要求?
?
?
?
0,…,?
?
?
?
即可。
我们记?
?
?
?
?
?
?
?
?
?
?
1,…,?
?
?
?
?
?
?
为t[m][k],则t[m][k]在差商表表的位置为:
?
?
?
?
0,?
?
1=
?
?
1?
?
?
?
?
,不妨先把x-x[i]中的减号换成加号(在最后令y[i]=-x[i],在令x[i]=y[i],仍可以得到原本的结果),那么有:
?
?
+?
?
0?
?
+?
?
1…?
?
+?
?
?
?
?
1
?
?
?
1
=?
?
?
?
+?
?
?
?
?
1?
?
?
?
?
?
=0
+?
?
?
?
?
2
0≤?
?
0≠?
?
1≤?
?
?
1
?
?
?
?
0?
?
?
?
1+?
+?
?
0
为了便于表示,把
0≤?
?
0≠?
≠?
?
?
?
?
1≤?
?
?
1
?
?
?
?
0?
?
?
?
1…?
?
?
?
?
?
?
1
?
?
?
?
0?
?
?
?
1…?
?
?
?
?
?
?
1
0≤?
?
0≠?
≠?
?
?
?
≤?
?
?
1
记为
?
?
[?
?
]
?
?
那么
?
?
+?
?
0?
?
+?
?
1…?
?
+?
?
?
?
?
1=?
?
?
?
+?
?
?
?
?
1?
?
1+?
+?
?
0?
?
[?
?
]
?
?
?
?
只要把N中的每一项展开然后x次数相同的系数相加就可以得到数组a。
于是可以列出下表:
表中x[i]列的和就是N中a[i]的值,下面就来求这个和,记
?
?
?
?
?
?
=
0≤?
?
0≠?
≠?
?
[?
?
]≤?
?
?
1
?
?
?
?
0…?
?
?
?
?
?
?
1=?
?
[?
?
]
?
?
c[g][h]的意义为g个数中所有h个数乘积之和,可以由g-1个数中所有h-1个数乘积之和,和g-1个数中所有h个数乘积之和求得,递推公式为c[g][h]=c[g-1][h-1]x[i[h]]+c[g-1][h]。
由c[g][h]的意义可以得到递推的边界状态为c[i][0]=x[0]+…+x[i],c[i][i]=x[0]…x[i]。