
插值算法之拉格朗日插值.docx
4页记一下拉格朗日插值公式的推导和一些要点【这里说的都是二维插值,多维上的以此类推】1、插值问题:在做实验的过程中,往往得到一堆离散的数据,现在想用数学公式模拟这堆 离散数据怎么办,数学家们提出了插值问题插值问题的提法是这样的给定一堆数据点(xO, yO), (x1, y1), (x2, y2)...(xn, yn),要求一个函数y = f(x),要求该函数经过上面所有的数据2、多项式插值及其唯一性:在所有的函数中,多项式函数是最简单的函数,所以只要是人 就会想到用多项式函数来作为插值函数,好,以上给定了 n+1个点,现在要求一个n次多项 式y = an * xAn + ... al * x + aO,使它们经过这n+1个点;通过范德蒙行列式和 克莱姆法 则,可以判定如果这n+1个点的x值各不相同,那么这个多项式是唯一的结果唯一,但是 用直接法很不好求现在用别的办法来求之这就是:拉格朗日多项式3、拉格朗日多项式的构造,以四个点为例子进行说明由于函数经过4个点(xO, yO),(x1, y1),(x2, y2),(x3, y3),所以可以设函数为: f(x) = bO(x) * yO + b1(x) * y1 + b2(x) * y2 + b3(x) * y3注意:bO(x),...,b3(x)都是x的3次多项式,称之为拉格朗日插值基函数。
由于要求当x为xO时候,f(x) = yO,所以最简单的做法就是让bO(xO) = 1, b1(xO) = b2(xO)= b3(xO) = O;同理可知,在x1, x2, x3点上,插值基函数的值构造如下:x=x01000x=x10100x=x20010x=x30001bO(x)b1(x)b2(x)b3(x)问题1、根据这些值来确定b0(x)的表达式,由于b0(x1) = b0(x2) = b0(x3) = 0,所以x1, x2, x3是b0(x)的零点,由于b0(x)是三次多项 式,所以设b0(x) = c0 * (x-x1) * (x-x2) * (x-x3)由于 b0(x0) = 1,所以 1 = c0 * (x0-x1) * (x0-x2) * (x0-x3)得到 c0 = 1/[(x0-x1)(x0-x2)(x0-x3)]所以:b0(x) = (x-x1)*(x-x2)*(x-x3)/[(x0-x1)*(x0-x2)*(x0-x3)]同理可求b1(x)、b2(x),略问题2、根据上面的表格说明插值基函数的一个性质:无论x取和值,它们的和都为1.【这个叫做调和函数】以3次为例子说明:将上述表格的每一行分别相加,得到的事函数:g(x) = bO(x) + b1(x) + b2(x) + b3(x)在 x0, x1, x2, x3的值,都为 1.b0(x) + b1(x) + b2(x) + b3(x)x=x01+0+0+0=1x=x10+1+0+0 = 1x=x20+0+1+0 = 1x=x30+0+0+1 =1所以:方程 g(x) - 1 = 0,应该有4个根 x0, x1, x2, x3;但是,由于 b0(x)、b1(x)、b2(x)、b3(x)都是3次多项式,所以,g(x)最多也是3次多项式,至多只有3个根,所以等式:g(x) = 1应 该是恒等式。
得证问题3、基函数:b0(x)、b1(x)、b2(x)、b3(x)是线性无关的设:数 t0, t1, t2, t3使得:t0 * b0(x) + t1 * b1(x) + t2 * b2(x) + t3 * b3(x) = 0x=x0时候:0 = t0 * b0(x0) + t1 * b1(x0) + t2 * b2(x0) + t3 * b3(x0) = t0 * 1 + t1 * 0 + t2 * 0 + t3 * 0 得到:t0 = 0;同理有:t1 = t2 = t3 = 0,根据定义(所有系数为0)所以插值基函数是线性无关的转自: jiangnanyouzi,博客频道。












