拉格朗日插值

朴素的拉格朗日插值:

我们对于 \(n+1\) 个点,可以求出经过他们的一个至多 \(n\) 次的函数 f,这个 f 是唯一确定的。也就是说,如果我们找到一个至多 \(n\) 次的函数 g,并且 g 经过这 \(n+1\) 个点,那么 f 和 g 就是同一个函数。

对于每一个点,我们都可以找到一个函数,分别是 \(f_1,f_2,\dots,f_{n+1}\) 对于 \(f_i\) 我们令他在 \(x=x[i]\) 处取值为1,在 \(x=x[j] (j \neq i)\) 处取值为 0,我们可以构造一个函数 \(f_i(x) = \prod\limits_{j\neq i}\frac{x-x[j]}{x[i]-x[j]}\)

我们构造 \(f = \sum\limits_{i=1}^{n+1}y[i]*f_i\) 可以发现它符合条件。

当我们需要求 \(f(k)\) 的时候,我们去计算 \(f(k) = \sum\limits_{i=1}^{n+1}y[i]\prod\limits_{j\ne i}\frac{k-x[j]}{x[i]-x[j]}\) 即可,复杂度是 \(O(n^2)\)

posted @ 2021-02-24 15:33  nao-nao  阅读(202)  评论(0编辑  收藏  举报