牛顿插值法C语言实验报告表格,牛顿插值法实验报告.doc

牛顿插值法实验报告

牛顿插值法实验报告

篇一:牛顿插值法实验报告

牛顿插值法

一、实验目的:学会牛顿插值法,并应用算法于实际问题。

二、实验内容:给定函数 f(x)?x,已知:

f(2.0)?1.414214f(2.1)?1.449138 f(2.2)?1.483240

f(2.3)?1.516575f(2.4)?1.549193

三、实验要求:

(1)用牛顿插值法求4次Newton插值多项式在2.15处的值,以此作为函数的近似值2.15?N(2.15)。在MATLAB中用内部函数ezplot绘制出4次Newton插值多项式的函数图形。

(2)在MATLAB中用内部函数ezplot可直接绘制出以上函数的图形,并与作出的4次Newton插值多项式的图形进行比较。

四、实验过程:

1、编写主函数。打开Editor编辑器,输入Newton插值法主程序语句: function [y,L]=newdscg(X,Y,x)

n=length(X); z=x; A=zeros(n,n);A(:,1)=Y';s=0.0; p=1.0;

for j=2:n

for i=j:n

A(i,j)=(A(i,j-1)- A(i-1,j-1))/(X(i)-X(i-j+1));

end

end

C=A(n,n);

for k=(n-1):-1:1

C=conv(C,poly(X(k)));

d=length(C);C(d)=C(d)+A(k,k);

end

y(k)= polyval(C, z);

L(k,:)=poly2sym(C);

%%%%%%%%%%%%%%%%%%

t=[2,2.1,2.2,2.3,2.4];

fx=sqrt(t);

wucha=fx-Y;

以文件名newdscg.m保存。

2、运行程序。

(1)在MATLAB命令窗口输入:

>> X=[2,

2.1,2.2,2.3,2.4]; Y

=[1.414214,1.449138,1.483240,1.516575,1.549193];

x=2.15;[y,P]=newdscg(X,Y,x)

回车得到:

y =1.4663

wucha =1.0e-06 *

-0.4376-0.3254-0.3026 0.0888 0.3385

P = - (4803839603609061*x)/2305843009213693952 +

(7806239355294329*x)/288230376151711744 -

(176292469178709*x)/1125899906842624 +

(1624739243112817*x)/2251799813685248 +

1865116246031207/4503599627370496

(2)在MATLAB命令窗口输入:

>> v=[0,6,-1,3];

>> ezplot(P),axis(v),grid

>> hold on

>> x=0:0.1:6;

>> yt=sqrt(x);plot(x,yt,':')

>> legend('插值效果','原函数')

>> xlabel('X')

>> ylabel('Y')

>>title('Newton插值与原函数比较')

回车即可得到图像1-1。

图1-1牛顿插值效果

五、实验结果分析:

由上运行(1)的程序可得,用牛顿插值法求4次Newton插值多项式在2.15处函数的近似值2.15?N(2.15)=1.4663。

由在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(xi)),i?0,1,??,n,。构造牛顿插值多项式Nn(u)。输入要计算的函数点x,并计算Nn(x)的值,利用牛顿插值公式,当增加一个节点时,只需在后面多计算一项,而前面的计算仍有用;另一方面Nn(x)的各项系数恰好又是各阶均差

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值