Lagrange插值的R语言实现

Lagrange插值是n次多项式插值,其成功地用构造插值基函数的方法解决了求n次多项式插值函数问题。其基本思想是将待求的n次插值多项式改写为具有承袭性的形式,然后利用插值条件确定多项式的待定系数,以求所出要的插值函数,Lagrange插值简单易懂,而且插值效果也不错。

.Lagrange插值的R语言实现_第1张图片Lagrange插值的R语言实现_第2张图片

####构造拉格朗日函数#####
##定义变量x为缺失值y对应的x值,yk为已知的所有y值组成的向量,xk为yk向量对应的x值向量
lagrange<-function(x,xk,yk){
  n<-length(xk) #n为列的长度
  lagr<-0
    if(length(xk)!=length(yk))
    stop("the length of input values xk and yk is not equal!")
  if(n<2)
    stop("the length of xk and yk should be bigger than 1")
  for(i in 1:n)
  {
    Li<-1
    for(j in 1:n)
    {
      if(i!=j)
        Li<-Li*(x-xk[j])/(xk[i]-xk[j])
    }
    lagr<-Li*yk[i]+lagr
  }
  return(lagr)
}

 关于定位缺失值并进行利用lagrange插补相关内容后续更新

你可能感兴趣的:(Lagrange插值的R语言实现)