一些插值法及理解
2017-03-21 08:57
253 查看
插值法就是一个从已知点近似计算未知点的近似计算方法,即构造一个多项式函数,使其通过所有已知点,然后用求得的函数预测位置点。下面记录几种最近学到的插值法以及它们的试用条件及优缺点,简单说一下自己对于插值多项式构造的理解。
1.Lagrange插值法
即构造一个多项式,Li(x),让n=i的时候Li(x)=1,当n≠i时候Li(x)=0,这样就保证了Ln(x)通过每一个(xi,yi)点,符合插值原理。
这个就是插值多项式系数,它保证了Li(xi)=1,而带入其他点都为0,yi*Li(xi)就得到插值多项式的每一项,这个多项式通过每一个已知点。
但是这样的插值法存在一定问题:
1.运算量很大
2.稳定性不好,即Ln(x)的却能通过所有已知点,但是,不能保证Ln(x)在已知点附近的值是否有意义,可能它的波动会大到超出实际意义。
2.Newton插值法
定义了差商之后,发现差商有以下性质,有点像矩阵:
接着就要找预测公式了,发现,一介及是线性的,然后再往高阶迭代:
这样就发现f(x)由一部分已知多项式和未知多项式组成,把未知多项式就可以定为误差函数Rn(x)。
3.Neville插值法
如果知道两个点的话,插值自然是寻找两点连接的直线上一点,可验证,以下公式是(x0,y0),(x1,y1)上一点:
接着自然要考虑如果有三个点怎么弄:
我们想到在(x1,y1)和(x2,y2)之间插一个,然后在两个插值点之间再插一次:
(x1,y1)和(x2,y2)之间插值公式为:
接着,默认两个点分别很接近(x0,y0),(x1,y1),再在两个新得到的两个点之间插值:
通过化简得到以下公式:
通过上述过程我们发现了递归:
综上,我们就通过了两个已知点得到了n个插值点。
4.分段线性插值法
简单点说就是把相邻两个训练点之间用一条直线连接,然后形成一个折线图,用这个折线图来预测。实际上就是上一个插值法的一介形式。
5.条样插值法
条样插值是将分段线性插值修改了一下,不是将相邻点之间用直线连接了,升级了,用可以求n阶导的函数链接
1.Lagrange插值法
即构造一个多项式,Li(x),让n=i的时候Li(x)=1,当n≠i时候Li(x)=0,这样就保证了Ln(x)通过每一个(xi,yi)点,符合插值原理。
这个就是插值多项式系数,它保证了Li(xi)=1,而带入其他点都为0,yi*Li(xi)就得到插值多项式的每一项,这个多项式通过每一个已知点。
但是这样的插值法存在一定问题:
1.运算量很大
2.稳定性不好,即Ln(x)的却能通过所有已知点,但是,不能保证Ln(x)在已知点附近的值是否有意义,可能它的波动会大到超出实际意义。
2.Newton插值法
定义了差商之后,发现差商有以下性质,有点像矩阵:
接着就要找预测公式了,发现,一介及是线性的,然后再往高阶迭代:
这样就发现f(x)由一部分已知多项式和未知多项式组成,把未知多项式就可以定为误差函数Rn(x)。
3.Neville插值法
如果知道两个点的话,插值自然是寻找两点连接的直线上一点,可验证,以下公式是(x0,y0),(x1,y1)上一点:
接着自然要考虑如果有三个点怎么弄:
我们想到在(x1,y1)和(x2,y2)之间插一个,然后在两个插值点之间再插一次:
(x1,y1)和(x2,y2)之间插值公式为:
接着,默认两个点分别很接近(x0,y0),(x1,y1),再在两个新得到的两个点之间插值:
通过化简得到以下公式:
通过上述过程我们发现了递归:
综上,我们就通过了两个已知点得到了n个插值点。
4.分段线性插值法
简单点说就是把相邻两个训练点之间用一条直线连接,然后形成一个折线图,用这个折线图来预测。实际上就是上一个插值法的一介形式。
5.条样插值法
条样插值是将分段线性插值修改了一下,不是将相邻点之间用直线连接了,升级了,用可以求n阶导的函数链接
相关文章推荐
- 对Java同步一些理解
- 我对duwamish7的一些理解(一)
- 不理解容器,罗列一些书上提到的“容器”
- 我对CPPUNIT的一些理解
- 对p2p流媒体技术的一些理解
- 在线修改web.config文件的一些理解
- 重新理解一些言论
- ajax的一些理解
- 学习Shark的一些理解 (选择自 smilingleo 的 Blog)
- 一些很不理解的现象
- Java学习过程应该深入理解的一些重点
- 【转载】Java学习过程应该深入理解的一些重点
- SOA的一些基本理解
- 对synchronized(this)的一些理解
- 学习Shark的一些理解
- JAVA编码问题的一些理解
- 关于IS.Net的一些理解
- Ajax的一些个人理解
- 对需求分析的一些理解
- 这两天看了CRM获得了一些理解