牛顿插值法实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
牛顿插值法实验报告
篇一:牛顿插值法实验报告
牛顿插值法
一、实验目的:学会牛顿插值法,并应用算法于实际问题。
二、实验内容:给定函数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=;
for j=2:n
for i=j:n
A=- A)/-X);
end
end
C=A;
for k=:-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
>> hold on
>> 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 ““ #include using namespace std; #include
void f1; void f2;
void f3;
int _tmain { cout>n; double *x=new double[n]; double *y=new double[n]; int i; 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]。