学习笔记第十三节:拉格朗日插值法

版权声明:因为我是蒟蒻,所以请大佬和神犇们不要转载(有坑)的文章,并指出问题,谢谢 https://blog.csdn.net/Deep_Kevin/article/details/82561968

正题

      拉格朗日插值法是用来求解,给出n个点(互不相等),求经过这n个点的函数f(x)。

      那么很明显有一个结论,如果我们对每一个点都构造一个函数F_i(x),使它经过(x_i,y_i),并且当x为其他点的x坐标时,y坐标为0。那么f(x)=\sum_{i=1}^nF_i(x)

      这个很好理解。

      那么怎么满足x坐标为其他点的x坐标时,y坐标为0呢?

      很明显,我们只需要满足Fi(x)包含\prod_{k\neq i} (x-x_k)这个因子就行了。

      那么我们怎么让它经过(x_i,y_i)呢?

      我们先使它x坐标为x_i时,f(x)为1.

      那么很明显,Fi(x)=\prod_{k\neq i} \frac{x-x_k}{x_i-x_k},当x是xi的时候,函数值为1.

      乘上一个yi就行了,也就是说Fi(x)=y_i\prod_{k\neq i} \frac{x-x_k}{x_i-x_k}

      那么答案就是f(x)=\sum_{i=1}^n\prod_{k\neq i} \frac{x-x_k}{x_i-x_k}

      预处理优化一下就可以做到n^2的复杂度。

      

猜你喜欢

转载自blog.csdn.net/Deep_Kevin/article/details/82561968