(1)拉格朗日插值法和牛顿插值法MATLAB

上传人:靳** 文档编号:69218614 上传时间:2019-01-13 格式:DOCX 页数:7 大小:97.61KB
返回 下载 相关 举报
(1)拉格朗日插值法和牛顿插值法MATLAB_第1页
第1页 / 共7页
(1)拉格朗日插值法和牛顿插值法MATLAB_第2页
第2页 / 共7页
(1)拉格朗日插值法和牛顿插值法MATLAB_第3页
第3页 / 共7页
(1)拉格朗日插值法和牛顿插值法MATLAB_第4页
第4页 / 共7页
(1)拉格朗日插值法和牛顿插值法MATLAB_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《(1)拉格朗日插值法和牛顿插值法MATLAB》由会员分享,可在线阅读,更多相关《(1)拉格朗日插值法和牛顿插值法MATLAB(7页珍藏版)》请在金锄头文库上搜索。

1、西安工业大学2018-2019(1)学期计算方法上机实验报告 题目:拉格朗日插值法和牛顿插值法 学院:理学院 专业:数学与应用数学姓名: 靳玉梅学号: 16100305120 题目:拉格朗日插值法和牛顿插值法一、 实验目的: 1. 初步掌握拉格朗日插值法和牛顿插值法的计算原理和算法,解决实际应用问题。2用matlab程序及计算机解决插值法的实际问题。3. 熟练掌握数学软件matlab在现实生活中的应用。二、实验原理:1、拉格朗日插值法(外文名Lagrange interpolation formula)指的是在节点上给出节点基函数,然后做基函数的线性组合,组合系数为节点函数值的一种插值多项式。

2、线性插值也叫两点插值,已知函数y=f(x)在给定互异点x0,x1上的值为y0= f(x0),y1=f(x1)线性插值就是构造一个一次多项式:p1(x)=ax+b,使它满足条件:p1(x0)= y0,p1(x1)=y1其几何解释就是一条直线,通过已知点A(x0,y0),B(x1,y1)。线性插值计算方便、应用很广,一般要求x0,x1比较小,且f(x)在x0,x1上变化比较平稳,否则线性插值的误差可能很大。任给定F中2n+2个数x1,x2,,xn+1, y1,y2,,yn+1 1,其中x1,x2,,xn+1互不相同,则存在唯一的次数不超过n的多项式pn(x),满足pn(xi)= y1 (i=1,2

3、,n+1),这里:(x)= y1x-x2x-x3x-xnx-xn+1x1-x2x1-x2x1-xnx1-xn+1叫做拉格朗日插值公式。公式的几何解释是:存在唯一的次数不超过n的抛物线 通过平面上的给出的n+1个点M1(x1,y1),M2(x2,y2),Mn+1(xn+1,yn+1)。特别地,如对于自变数的两个值,给出了线性函数的(n=1)对应值,这线性函数就被确定。从几何方面说,直线由其两点确定,即:y= y1x-x2x1-x2+y2x-x1x2-x12、牛顿插值法是代数插值方法的一种形式。牛顿插值法引入了差商的概念,使其在差值节点增加时便于计算。差商:设函数f(x),已知其n+1个插值节点为

4、(xi,yi),i=0,1,2,n,我们定义:f(x)在xi的零阶差商为f(xi);f(x)在xi与xj的一阶差商为f(xi,xj)=fxj-f(xi)xj-xi, f(x)在xi,xj,xk的二阶差商为 f(xi,xj,xk)=fxj,xk-f(xi,xj)xk-xi.一般的 f(x)在x0,x1,x2,xk的k阶差商为f(x0,x1,xk)=fx1,x2,xk-f(x0,x1xk-1,)xk-x0.可将k阶差商f(x0,x1,xk)表示为函数值f(x0),fx1,f(xk),的组合:f(x0),fx1,f(xk)=i=0kf(xi)j=0,j0k(xi-xj).先写 f(x)的各阶差商:

5、f(x,x0)=fx0-f(x)x0-x,f(x,x0,x1)=fx0,x1-fx,x0x1-x,f(x,x0,xn)=fx0,x1,xn-f(x,x0xn-1,)xn-x分别变形可得:f(x)= fx0+x1-x0fx,x0,f(x,x0)= f(x0,x1)+(x-x1)fx,x0,x1f(x,x0,xn)= fx0,x1,xn+x-xnfx,x0,xn依次代入可得牛顿差值公式:f(x)= fx0+x-x0fx,x0+x-x0x-x1fx0,x1,x2+x-x0x-x1x-xnfx0,x1,x2,xn可记为:f(x)=Nnx+Rn(x),其中,为牛顿差值公式的余项和截断误差,当n趋于无穷大

6、时为零。三、实验内容与步骤:、实验内容: 解决问题:给定数据表如下x18316668707270y23335251434046、实验步骤:a.启用matlab,打开matlab中command窗口。 b根据原理写入如下程序function f = Language(x,y,x0)syms t l;if(length(x) = length(y) n = length(x);else disp(x和y的维数不相等!); return; %检错endh=sym(0);for (i=1:n) l=sym(y(i); for(j=1:i-1) l=l*(t-x(j)/(x(i)-x(j); end;

7、for(j=i+1:n) l=l*(t-x(j)/(x(i)-x(j); end; h=h+l;endsimplify(h);if(nargin = 3)f = subs (h,t,x0); %计算插值点的函数值elsef=collect(h);f = vpa(f,6); %将插值多项式的系数化成6位精度的小数end c调试程序运行结果在MATLAB中输入:x=18 31 66 68 70 72 70; y=23 33 52 51 43 40 46;f=Language(x,y)plot(x,y)结果为:f =Inf + (-t)*Inf - 54329.8*t2 + 1503.75*t3 -

8、 22.2065*t4 + 0.16789*t5 - 0.000512106*t6四、实验数据及结果:图形牛顿插值法:五、实验结果分析:拉格朗日插值法的公式结构整齐紧凑,在理论分析中十分方便,然而在计算中,当插值点增加或减少一个时,所对应的基本多项式就需要全部重新计算,于是整个公式都会变化,非常繁琐。这时可以用重心拉格朗日插值法或牛顿插值法来代替。此外,当插值点比较多的时候,拉格朗日插值多项式的次数可能会很高,因此具有数值不稳定的特点,也就是说尽管在已知的几个点取到给定的数值,但在附近却会和“实际上”的值之间有很大的偏差。六、参考文献:MATLAB实现拉格朗日插值法实验报告(百度文库)MATLAB实现牛顿插值法实验报告(百度文库)数值分析第五版(清华大学出版社.李庆扬编)数学实验第2版(MATLAB版.韩明编)拉格朗日插值法MATLAB程序解析(CSDN)拉格朗日插值法的运用综述(中国论文网经济论文)

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

当前位置:首页 > 高等教育 > 理学

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