拉格朗日插值法

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

机械CAD/CAM基础课程作业

姓名曾子敬

专业机械电子工程

学号201103710042

日期2011-12-21

武汉科技大学

拉格朗日插值法的理解与运用

一.引 言

在机械设计与制造领域会因为通过大量试验而得来很多测试数据资料,如数表、线图、标准、规范、实验数据等。我们常常需要对这些繁多而复杂的试验数据进行系统的分析和处理,从而得到希望的演算结果,所以如何有效的处理一系列数据是在机械工程设计中是十分关键的一步。

在传统的设计过程中,这些数据都是通过人工查询手册来获取,但在现代CAD/CAM 系统中,这些数据需要由计算机进行处理,这就需要我们将试验数据以数表和线图的形式输入计算机才能被计算机有效的识别、存储和应用。

在CAD/CAM 中,有两类数表需要进行处理。一类是彼此之间没有函数关系的数表,如材料的机械性能、物理性能等;另一类是彼此之间存在函数关系,而为了使用方便以表格形式给出的列表函数,如三角函数、对数函数等。对于数据之间存在某种函数关系而被离散化的数表,虽然离散化后的自变量值和因变量值存在一一对应关系,但是对于这类数表所需完成的查询通常并非恰好是给定的离散值,而是介于离散量之间的自变量和因变量,这就需要解析的方法处理。常用数表解析法有函数插值法和数据拟合法。下面以函数插值法中常用的拉格朗日插值法来讨论其理解与运用。

二.函数插值——拉格朗日插值法理解

(1)函数插值的含义

在科学研究和实际的机械工程设计中,几乎所有的问题都可以用函数y=f(x)来表示其中某些内在的数量关系,但是理想化的函数关系又很难在实际的工程测试结果中得到,对于那些没有明显方程式的函数关系表达式则只能通过求出与原关系式近似的又能反应其原函数特性的一种便于计算的简单函数,即构造一个近似函数来替代原函数。

(2)插值的基本方法

插值的基本方法是在插值点附件选取几个合适的节点,利用这些节点构造一个函数g(x),使g(x)经过所选取的所有节点,在插值点确定的区间上近似用g(x)代替原来的函数f(x),那么,插值点的函数值可以用构造函数值来代替。而想要正确理解拉格朗日的含义就必须首先理解线性插值和抛物线插值。

1) 线性插值

线性插值是用通过所选取两个节点构造一个线性函数g(x)来代替原来的函数f(x)。设有一个用数表表示的函数,插值点为(x,y)。插值步骤如下:

① 从数表中在插值点的附近的自变量i x ,1i x +(对应的函数值分别为1,i i y y +),并满足条

1i i x x x +<<

② 用过(i x ,1i x +)和(1,i i y y +)两点的直线g(x)代替原来的函数f(x),则插值点的函数

值为

11()i i i i i i

y y y x x y x x ++-=-+- 2) 抛物线插值

抛物线插值是用通过3个节点的抛物线g(x)来代替原来的函数f(x)。在数表中,如何选择合适的3个节点112233(,),(,),(,)x y x y x y ,是保证抛物线插值精度的关键所在。

设插值点为(x ,y ),抛物线插值步骤如下:

① 从已知数表中,在插值点x 的左右选取两点(i x ,1i x +)和(1,i i y y +),分别记为

1122(,),(,)x y x y 。它们满足条件

12x x x <<

② 比较()i x x -和1()i x x +-的大小,取差值较小者作为取点的延伸方向,从数表中选取第3点。我们设()i x x -<1()i x x +-,则取点延伸方向,即取11(,)i i x y --作为第3点33(,)x y 。

③ 将3个点的坐标代入抛物线方程,得到插值点的函数值:

231312123121321233132()()()()()()()()()()()()

x x x x x x x x x x x x y y y y x x x x x x x x x x x x ------=++------

图 1

(a )线性插值图;(b )抛物线插值图

实际在做出的图表中查看插值的几何意义如图1所示,发现用g(x)代替原有曲线f(x)存在一定的误差,且误差的大小与插值区间有关,区间越小,误差越小,当自变量间隔足够小时,线性插值的精度可以满足使用要求,所以为了提高精度,就要利用多点插值,而拉格朗日就是多点插值法。

(3)拉格朗日插值法的概述

拉格朗日插值用来求n 个节点的(n-1)次插值多项式,它就是线性插值和抛物线插值的推广和延伸。我们设有n 个节点,则拉格朗日插值的表达式表示为:

1211111,1211()()()()()()()()()()()()n n

n j k k n k k k k j j k k k k k k k k n k j x x x x x x x x x x x x g x y y x x x x x x x x x x x x -+===≠-+---⋅⋅⋅--⋅⋅⋅-==--⋅⋅⋅--⋅⋅⋅--∑∑∏

三.拉格朗日插值的运用

(1)利用拉格朗日插值法手算函数22

()41f x x =+,(22)x -≤≤

1) 我们设有3个节点,分别为1232,0,1x x x =-==,则对应的值为1230.118,2,0.4y y y ===,

根据定义构造一个二次多项式:

*123(1)(1)(2)(2)y a x x a x x a x x =-+-+++

由于二次多项式函数须通过已知的三个结点,因此在节点123,,x x x 处应满足以下条件:

*11222333(),(),()y x y p x y p x y ===,即

1230.118(20)(21),2(01)(02),0.4(12)(10)a a a =----=-+=+-

则求的方程组得1230.197,1,0.1333a a a ==-=

则3节点的二次拉格朗日插值多项式为:

*0.197(1)(1)(2)0.133(2)y x x x x x x =---+++

2) 利用matable 绘制函数图形对比函数图像

① 利用matable 中的画图函数plot 画出原函数22

()41f x x =+的函数图像和画出手

算出的拉格朗日插值多项式函数图像,并进行图像对比,matable 中的编程程序为:

x=-2:0.01:2;

y2=2-0.67*x.^2-0.931*x; %简化后的二次拉格朗日插值函数

plot(x,y2,'r--');%插值图形虚线标识

hold on

y1=2./(1+4*x.^2);

plot(x,y1,'g-');%绘制原函数图形绿色标识

相关文档
最新文档