拉格朗日插值法

拉格朗日法公式
应用于当给出n+1个点,且这n+1个点在一个n次(或者小于n次)的多项式时,求给出在这个多项式上的一个点的x坐标,求出其对应的y坐标。

用法1: 当给出n+1个点后,直接将需要求的点的x坐标带入到这个拉格朗日法公式中,f(X)=y1*(X-x2)(X-x3)…(X-xn)/((x1-x2)(x1-x3)…(x1-xn))+y2*(X-x1)(X-x3)…(X-xn)/((x2-x1)(x2-x3)…(x2-xn))+…
时间复杂度为n^2。

用法2: 当给出连续的n+1个点时,比如(1,y1)(2,y2)…(n,yn)(n+1,y n+1),这时候看累乘部分,比如i的累乘的分子部分则为(X-1)(X-2)…(X-(i-1))(X-(i+1))…(X-n),而分母部分则为(i-1)(i-2)…1*(-1)…(i-n)。维护三个数组,pre[i]代表j为从1到i的(k-j)的前缀乘,suf[i]代表j为从i到n的(k-j)的后缀乘,然后f[i]代表i的阶乘,可以发现这时候拉格朗日求值法的公式为yi*pre[i-1]*suf[i+1]/(f[i-1] * (-1)^(n-i) *f[n-i].--------(i属于[0,n])的累加

用法3: 当需要计算多个在这个多项式上的点时。

提前用o(n)的复杂度算出g,用o(n^2)的复杂度算出每个ti,然后对于给的每一个所求点,o(n)的复杂度进行累加即可,总的复杂度为o(n ^ 2+n*m),m为所求点数量。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值