数值计算实习报告-牛顿插值法

上传人:飞*** 文档编号:47808415 上传时间:2018-07-05 格式:PDF 页数:11 大小:100.02KB
返回 下载 相关 举报
数值计算实习报告-牛顿插值法_第1页
第1页 / 共11页
数值计算实习报告-牛顿插值法_第2页
第2页 / 共11页
数值计算实习报告-牛顿插值法_第3页
第3页 / 共11页
数值计算实习报告-牛顿插值法_第4页
第4页 / 共11页
数值计算实习报告-牛顿插值法_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《数值计算实习报告-牛顿插值法》由会员分享,可在线阅读,更多相关《数值计算实习报告-牛顿插值法(11页珍藏版)》请在金锄头文库上搜索。

1、数值计算课程设计牛顿插值法1 数值计算实习课程设计姓名:张光宇指导教师 ; 谭高山学号: 119084169 数值计算课程设计牛顿插值法2 目录1、实验目的2、问题的提出3、牛顿插值法的原理4、差商概念的引出5、牛顿插值公式及其余项的公式6、牛顿插值法计算步骤7、牛顿插值多项式的程序实现8、图像对照牛顿插值多项式9、牛顿插值多项式总结10、附 1 11、附 2 数值计算课程设计牛顿插值法3 1、实验目的 :通过对牛顿插值多项式的Matlab 程序实现 , 深入了解牛顿插 值多项式的原理及编程解决实际问题的能力.2、问题的提出 我们知道 Lagrange插值多项式的插值基函数为理论分析中很方便,

2、但是当插值节点增减时全部插值基函数就要随之 变化,整个公式也将发生变化,这在实际计算中是很不方便的;Lagrange 插值虽然易算,但若要增加一个节点时,全部基函数)(xli 都需重新算过。3、牛顿插值多项式的原理我们知道两点直线公式),(),(11kkkkyxyx有:我们考虑点斜式,两点为(x0,y0)(x1,y1),则直线方程为:那么,在此基础上增加一个节点(x2,y2),则过这三个点的插值多项式 就是:c(x)应该是一个二次多项式。根据插值条件)(xljnjiiiji xxxx0)()(1 1 11 11 11( )()( )(kk kk kkkk kk kkkkyyL xyxxxxxx

3、xxL xyyxxxx点斜式)两点式)10 100 10( )()yyP xyxxxx21( )( )( )P xP xc x2010021111()()()()PxP xyPxP xy数值计算课程设计牛顿插值法4 有根据插值条件:可以求出:重新写 p2(x):0101()()0 ,( )()()c xc xc xa xxxx所以221221221202120()()()()()()()pxpxypxaxxxxxxxx2110212 0001 1020210102010010 1 10212 22021( )( )( )()()()()()()()()()()()()P xP xc xyyyP

4、 xyxxxxxxxxxxxxaaxxaxxxxayyyaxxyP xa xxxx其中,ix设插值节点为nifi,1,0,函数值为222()Pxy数值计算课程设计牛顿插值法5 有. 4、下面引入差商和差分的概念定义:1,2,1,0,1nixxhiiiiihhmaxnifxPii,1,0,)(插值条件为具有如下形式设插值多项式)(xP)()()()()(110102010nnxxxxxxaxxxxaxxaaxP01,naaa其中为待定系数nifxPxPii,1,0,)()(应满足插值条件000)(afxP00fa)()(011011xxaafxP 0101 1xxffa)()()(1202202

5、1022xxxxaxxaafxP12010102022xxxxffxxffanifxxfii,1,0,)(处的函数值为在互异的节点设数值计算课程设计牛顿插值法6 1 阶差商2 阶差商n+1 阶差商可以证明差商具有如下性质: (2) k 阶差商,.,21kxxxf关于节点,.1,0kxxx是对称的,或者说均差与节点顺序无关,即均差表零阶均差一阶均差二阶均差三阶均差X0f(X0) X1f(X1) fX0, X1 X2f(X2) fX1, X2 fX0,X1, X2 X3f(X3) fX2, X3 fX1, X2,X3 fX0,X1, X2 X3 . . . . . ),()()(,jijiji j

6、ixxjixxxfxfxxf)(,kixxxxfxxfxxxfkikjji kji1,1,0nxnxxxf,则由定义0110121, xxxxxfxxxfnnn且的线性组合表示可由函数值阶差商的,)(,),(),(,)()1(10110kkkxfxfxfxxxxfkxf,110kkxxxxfkikiiiiiii xxxxxxxxxf0110)()()()(kxxxf,10kxxxf,0101,xxxfkkkx数值计算课程设计牛顿插值法7 5、下面给出牛顿插值公式及其余项的公式:.(1) .(2) .(n+1)1().(.)2()()1 (100nxxxxxxn).(,.,.)(,)(,)()(

7、100102100100nnnxxxxxxfxxxxxxxfxxxxfxfxN令:)().(,.,)(100nnnnxxxxxxxxxfxR则有:)()()(xRxNxfnn其中,.,0iixxxfa6、 牛顿插值法计算步骤:牛顿插值法利用函数)(xf在某区间中若干点的函数值,作出牛顿插值多项式)(xNn,在这些点上取已知值,在区间的其他点ix上用牛顿插值 多项式的值)(inxN作为函数)(ixf的近似值。,)()()(000xxfxxxfxf,)(,101100xxxfxxxxfxxf,.,)(,.,.,0010nnnnxxxfxxxxfxxxf数值计算课程设计牛顿插值法8 1输入n值及()

8、(,iixfx, 1 , 0,ni;要计算的函数点x。2对给定的, x由00010101201101( )()(),()(),()()(),nnnNxf xxxfxxxxxxfxx xxxxxxxfxxx计算( )nNx的值。3输出( )nNx。7、Matlab 程序实现 例:f(x)=lnx 的数值如表所示,构造牛顿插值多项式并求ln0.53 的 值。 X 0.4 0.5 0.6 0.7 0.8 lnx - 0.916291 - 0.69314 7 -0.510826 -0.357765 -0.223144 解: 由表可知 x0=0.4, x1=0.5, x2=0.6, x3=0.7, x4

9、=0.7, 函数值: y0=-0.916291, y1=-0.693147, y2=-0.510826, y3=-0.357765, y4=-0.223144 在matlab中输入如下命令 : clc clear newpoly(0.4,0.5,0.6,0.7,0.8, -0.916291, -0.693147, -0.510826, - 0.357765, - 0.223144) 计算结果如下:ans = -0.3096 2.6083 -5.4861 5.6921 -2.4744 由此看出所求的牛顿多项式为:数值计算课程设计牛顿插值法9 P(x)= -0.3096x4+2.6083x3-5.

10、4861x2+5.6921x-2.4744 P(0.53)= -0.6347。8、图像对照牛顿插值多项式9、小结: 本实验通过 MATLAB编程实现求解牛顿K次插值多项式,能加深对牛 顿插值法的基本思路和步骤的理解。同时也加深了对均差的概念及其 性质的理解。牛顿插值法正是应用均差的性质,克服了拉格朗日插值 法的主要缺点。数值计算课程设计牛顿插值法10 附1: matlab 求解插值多项式,返回多项式的系数 functionc, d=newpoly(x, y) % 牛顿插值的 MATLAB实现 % 这里 x 为n个节点的横坐标所组成的向量,y为纵坐标所组成的向 量。 %c为所求的牛顿插值多项式的

11、系数构成的向量。n=length(x);% 取x的个数。d=zeros(n, n);% 构造n*n 的空数组。d(: , 1)=y; for j=2 : n for k=j : nd(k, j)=(d(k, j-1) - d(k-1, j-1) / (x(k)-x(k-j+1); end endc =d(n, n); for k=(n-1) : - 1 : 1c =conv(c, poly(x(k);% conv 求积, poly(x) 将该多项式的系数赋给向量。m=length(c);c(m)=c(m)+d(k, k); end附 2: 在同一个面框内显示ln(x)与牛顿插值多项式的图像x=0:1/10000:1; y=log(x); plot(x,y,b) gtext(ln(x)的图像 ); hold on p=-0.3096,2.6083,-5.4861,5.6921,-2.4744;数值计算课程设计牛顿插值法11 y=polyval(p,x); plot(x,y,g) gtext( 牛顿插值多项式函数图像 ) grid on box off axis normal axis(0,1,-7,1) text(0.53,log(0.53), 插值点 ) title(ln(x)与牛顿插值多项式图像的比较 ) legend(ln(x), 牛顿插值多项式 )

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号