牛顿三次插值 matlab,matlab 牛顿插值法 三次样条插值法[行业二类]

《matlab 牛顿插值法 三次样条插值法[行业二类]》由会员分享,可在线阅读,更多相关《matlab 牛顿插值法 三次样条插值法[行业二类](8页珍藏版)》请在人人文库网上搜索。

1、算法组织:本题在算法上需要解决的问题主要是:求出第二问中的Newton插值多项式和三次样条插值多项式。如此,则第三、四问则迎刃而解。计算两种插值多项式的算法如下:一、求Newton插值多项式,算法组织如下:Newton插值多项式的表达式如下:其中每一项的系数ci的表达式如下:根据以上公式,计算的步骤如下:二、求三次样条插值多项式,算法组织如下:所谓三次样条插值多项式是一种分段函数,它在节点分成的每个小区间上是3次多项式,其在此区间上的表达式如下:因此,只要确定了的值,就确定了整个表达式,的计算方法如下:令:则满足如下n-1个方程:方程中有n+1个未知量,则令和分别为零,则由上面的方程组可得到的。

2、值,可得到整个区间上的三次样条插值多项式。计算结果与结果分析本题中各问的相应计算结果如下:1、在n取不同值时,xi和对应的f(xi)(亦即下图中的y1)的值如下:n5时:n10时:n20时:2、Newton插值多项式的表达式如下:n5时,其各项系数分别为:n10时,其各项系数分别为:n20时,其各项系数分别为:对于三次样条插值多项式,最重要的是求出其M矩阵的值,其中M0和Mn都为0,M1Mn-1则存储在矩阵M中:n5时的M矩阵(M1M4)的值为:n10时的M矩阵(M1M9)的值为:n20时的M矩阵(M1M19)的值为:3、不论n为多少,是不会改变的,其值存储在矩阵yy中;当n取不同值的时候,N。

3、ewton插值多项式和三次样条插值多项式的值是不同的,为了使整个结果直观,实验的最终结果还用图形进行的重现(本问中所得函数值、牛顿插值和三次样条插值的结果分别存在数组变量yy、Nn和Sn中)。当n5时,整个区间中的、以及的值如图所示:图5-1 、与原始值的对比图n20时,整个区间中的和以及和的对比如下面两图所示:图5-2 与原始值的对比图图5-3 与原始值的对比图通过对比以上三个图可得到如下结论:1、随着n的增大,使用Newton插值多项式会出现龙格现象(对比图5-1和图5-2中的)。2、随着n的增大,三次样条插值多项式将越来越接近被插值的函数(对比图5-1和图5-3中的)。4、根据第3问中得。

4、到的数据可以很容易的得到和,它们的值如下表所示:n值E(Nn)E(Sn)50.432690.423482058.27810.00309当n20时,使用Newton插值多项式出现龙格现象,其最大误差达到58.2781,而相应的三次样条插值多项式的最大误差仅为0.00309。可见,n越大,Newton插值越可能偏离被插值函数,而相应的三次样条插值则能更接近于被插值函数。x=a:(b-a)/n:b; %插值节点y=f(x);plot(x,y,b) %用蓝色线作被插函数图象hold onz=a:(b-a)/(2*n):b;n=length(x);for j=2:nfor i=n:-1:jy(i)=(y(i)-y(i-1)/(x(i)-x(i-j+1);%计算差商endendu=y(n);m=length(z);for j=1:mfor i=n-1:-1:1u=y(i)+u*(z(j)-x(i); %计算牛顿插值多项式的值v(j)=u;endu=y(n);endplot(z,v,r) %用红色线作牛顿插值多项式图象hold off8文书#借鉴。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值