MAAB牛顿插值法例题与程序

  • 格式:docx
  • 大小:66.84 KB
  • 文档页数:3

下载文档原格式

  / 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目一:多项式插值

某气象观测站在8:00(AM )开始每隔10分钟对天气作如下观测,用三次多项式插值函数(Newton )逼近如下曲线,插值节点数据如上表,并求出9点30分该地区的温度(x=10)。

二、数学原理

假设有n+1个不同的节点及函数在节点上的值(x 0,y 0),……(x n ,y n ),插值多项式有如下形式:

)()

)(()()()(n 10n 102010n x -x )(x -x x -x x P x x x x x x -⋯⋯-+⋯⋯+-++=αααα(1) 其中系数i α(i=0,1,2……n )为特定系数,可由插值样条i i n y x P =)

((i=0,1,2……n )确定。

根据均差的定义,把x 看成[a,b]上的一点,可得

f(x)=f (0x )+f[10x x ,](0x -x ) f[x,0x ]=f[10x x ,]+f[x,10x x ,](1x -x )

……

f[x,0x ,…x 1-n ]=f[x,0x ,…x n ]+f[x,0x ,…x n ](x-x n )

综合以上式子,把后一式代入前一式,可得到:

f(x)=f[0x ]+f[10x x ,](0x -x )+f[210x x x ,,](0x -x )(1x -x )+

…+f[x,0x ,…x n ](0x -x )…(x-x 1-n )+f[x,0x ,…x n ,x ])(x 1n +ω=N n (x )+)

(x n R 其中

N n (x )=f[0x ]+f[10x x ,](0x -x )+f[210x x x ,,](0x -x )(1x -x )+ …+f[x,0x ,…x n ](0x -x )…(x-x 1-n )(2)

)(x n R =f(x)-N n (x )=f[x,0x ,…x n ,x ])

(x 1n +ω(3) )

(x 1n +ω=(0x -x )…(x-x n ) Newton 插值的系数i α(i=0,1,2……n )可以用差商表示。一般有

f k =α[k 10x x x ⋯⋯,](k=0,1,2,……,n )(4)

把(4)代入(1)得到满足插值条件N )()

(i i n x f x =(i=0,1,2,……n )的n 次Newton 插值多项式

N n (x )=f (0x )+f[10x x ,](1x -x )+f[210x x x ,,](1x -x )(2x -x )+……+f[n 10x x x ⋯⋯,](1x -x )(2x -x )…(1-n x -x ).

其中插值余项为:

ξ介于k 10x x x ⋯⋯,之间。 三、程序设计

function [y,A,C,L]=newdscg(X,Y,x,M)

%y 为对应x 的值,A 为差商表,C 为多项式系数,L 为多项式 %X 为给定节点,Y 为节点值,x 为待求节点 n=length(X);m=length(x);%n 为X 的长度 for t=1:m

z=x(t);A=zeros(n,n);A(:,1)=Y'; s=;p=;q1=;c1=; 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

q1=abs(q1*(z-X(j-1)));c1=c1*j; end

C=A(n,n);q1=abs(q1*(z-X(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);%输出y 值 end

L(k,:)=poly2sym(C);%输出多项式 >>symsM,X=[1,3,5,7];Y=[,,,];x=10; >>[y,A,C,L]=newdscg(X,Y,x,M) y= A=

四、结果分析和讨论

对于不超过三次的插值多项式,x如果选取1,3,5,7这三个点能够得到较好的三次插值多项式L=^^2++。当x=10时,也即9点30分时的温度为度,结果分析知此值应是偏小的。对于选取不同的插值节点,能够得到不同的插值多项式,误差也不尽相同。

五、完成题目的体会与收获

对于牛顿插值法有了更深的了解,合理选择插值节点很重要。加深了对其原理的认识,学会了牛顿插值法的matlab编程,对matlab计算方法更加熟悉。通过完成这道题使我受益匪浅。