码迷,mamicode.com
首页 > 其他好文 > 详细

数值分析-插值法

时间:2018-10-09 22:44:31      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:函数   nbsp   一般来说   分享   时间复杂度   需要   font   技术   数值   

我们能得到一个函数f在区间[a,b]上某些点的值或者这些点上的高阶导数

我们就能通过插值法去得到一个函数g,g与f是非常相近的

一般来说g分为三类,一类是n次多项式 an*xn + an-1*xn-1 + .......+a0,一类是三角多项式,最后一类是分段n次多项式

 

多项式插值

这个可以说是最简单的插值了

 对于an*xn + an-1*xn-1 + .......+a0,我们有n+1个未知数,我只需要知道n+1个点的函数值就可以解出这n+1个未知数

将解出的值带入即可

 

优点:简单粗暴

缺点:要解n+1个方程,时间复杂度较高,n不好确定,若n过大,容易过拟合,若n过小,容易欠拟合

 

拉格朗日插值

先说一阶多项式

我们有两点式

f(x) = yk*(xk+1 - x) / (xk-xk+1) + yk+1*(x-xk) / (xk+1 - xk

此两点式可以看做? * yk + (1-?) * yk+1

那么自然的在x=xk的时候 ?=0  在x=xk+1的时候?=1

这里的?其实是与x相关的一阶多项式

再说二阶多项式

对于一个二次函数,我们有三个点(xk-1,yk-1) ,(xk,yk) ,(xk+1,yk+1)

我们有lk-1,lk,lk+1

f(x) = lk-1*yk-1 + lk*yk  +  lk+1*yk+1

其中l是与x相关的二次多项式

我们可以把l当作基函数

这样的话就有

x = xk-1 时lk-1 = 1, lk=0, lk+1 = 0

x = xk时   lk-1 = 0, lk=1, lk+1 = 0

x = xk+1时lk-1 = 0, lk=0, lk+1 = 1

那么这个插值基函数是很好求的

因为每个插值函数都有两个零点

对于lk-1来说有零点xk,xk+1

那么lk-1就可以表示为lk-1 = A*(x-xk)*(x-xk+1)

因为x=xk-1时lk-1 = 1

所以A = 1 / ((xk-1 - xk)* (xk-1 - xk+1) )

那么同理lk和lk+1也能求出来了

那我们得到二阶的拉格朗日插值多项式

技术分享图片

 

现在将二阶推广到n阶

得到n接的拉格朗日插值多项式

技术分享图片

技术分享图片

 

优点:算法较为简单

缺点:暂不清楚

数值分析-插值法

标签:函数   nbsp   一般来说   分享   时间复杂度   需要   font   技术   数值   

原文地址:https://www.cnblogs.com/shensobaolibin/p/9763514.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!