Lagrange插值的R语言实现

本文介绍了Lagrange插值在R语言中的实现,这是一种n次多项式插值方法,通过构造插值基函数解决求解n次多项式问题。Lagrange插值具有承袭性,能有效处理缺失值插补,具有良好的插值效果。
摘要由CSDN通过智能技术生成

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

.

####构造拉格朗日函数#####
##定义变量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插补相关内容后续更新

  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值