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

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数值计算实习报告-牛顿插值法

数值计算实习课程设计 姓名:张光宇 指导教师;谭高山 学号:119084169 目录 实验目的 问题的提出 牛顿插值法的原理 差商概念的引出 牛顿插值公式及其余项的公式 牛顿插值法计算步骤 牛顿插值多项式的程序实现 图像对照牛顿插值多项式 牛顿插值多项式总结 附1 附2 1、实验目的:通过对牛顿插值多项式的Matlab程序实现,深入了解牛顿插值多项式的原理及编程解决实际问题的能力. 2、问题的提出 我们知道Lagrange插值多项式的插值基函数为 理论分析中很方便,但是当插值节点增减时全部插值基函数就要随之变化,整个公式也将发生变化,这在实际计算中是很不方便的; Lagrange 插值虽然易算,但若要增加一个节点时,全部基函数 都需重新算过。 3、牛顿插值多项式的原理 我们知道两点直线公式有: 我们考虑点斜式,两点为((x0,y0)(x1,y1)),则直线方程为: 那么,在此基础上增加一个节点(x2,y2),则过这三个点的插值多项式就是: c(x)应该是一个二次多项式。根据插值条件 有 根据插值条件: 可以求出: 重新写p2(x): 有 ... 4、下面引入差商和差分的概念 定义: 1阶差商 2阶差商 n+1阶差商 可以证明差商具有如下性质: (2) k 阶差商关于节点是对称的,或者说均差与节点顺序无关,即 均差表 零阶均差 一阶均差 二阶均差 三阶均差 X0 f(X0) X1 f(X1) f[X0, X1] X2 f(X2) f[X1, X2] f[X0,X1, X2] X3 f(X3) f[X2, X3] f[X1, X2,X3] f[X0,X1, X2 X3] ... ... ... ... ... 5、下面给出牛顿插值公式及其余项的公式: .............(1) ............(2) … … … … .........(n+1) 则有: 其中 6、 牛顿插值法计算步骤: 牛顿插值法利用函数在某区间中若干点的函数值,作出牛顿插值多项式,在这些点上取已知值,在区间的其他点上用牛顿插值多项式的值作为函数的近似值。 输入值及(;要计算的函数点。 对给定的由 计算的值。 3.输出。 7、Matlab程序实现 例:f(x)=lnx的数值如表所示, 构造牛顿插值多项式并求ln0.53的值。 X 0.4 0.5 0.6 0.7 0.8 lnx -0.916291 -0.693147 -0.510826 -0.357765 -0.223144 解: 由表可知x0=0.4, x1=0.5, x2=0.6, x3=0.7, x4=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 由此看出所求的牛顿多项式为: P(x)= -0.3096x4+2.6083x3-5.4861x2+5.6921x-2.4744 P(0.53)= -0.6347。 图像对照牛顿插值多项式 9、小结: 本实验通过MATLAB编程实现求解牛顿K次插值多项式,能加深对牛顿插值法的基本思路和步骤的理解。同时也加深了对均差的概念及其性质的理解。牛顿插值法正是应用均差的性质,克服了拉格朗日插值法的主要缺点。 附1: matlab求解插值多项式,返回多项式的系数 function[c, d]=newpoly(x, y) %牛顿插值的MATLAB实现 %这里 x为n个节点的横坐标所组成的向量,y为纵坐标所组成的向量。 %c为所求的牛顿插值多项式的系数构成的向量。 n=length(x);%取x的个数。 d=zeros(n, n);%构造n*n的空数组。 d(: , 1)=y'; for j=2 : n for

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档