zoukankan      html  css  js  c++  java
  • 拉格朗日插值法

    简介

    用途:多项式点值表达->多项式系数表达

    思路如下:
    (n)次(最高次为(n-1))多项式(f(x))的点值表达是:
    (((x_1,y_1),(x_2,y_2),...,(x_n,y_n)))
    其中(y_i=f(x_i))
    我们的目的是寻找一个系数表达的(n)次多项式(L_n(x)),使得对于任意的(i)都有(L_n(x_i)=y_i)
    这时有一个想法,设计一个函数(l_i(x)),使得(x=x_i)时,(l_i(x)=1),否则(l_i(x)=0)。这样的话(L_n(x))就可以写成如下形式了:

    [L_n(x)=sum_{i=1}^{n}y_il_i(x) ]

    (l_i(x))具体怎么设计呢?直接写结论:

    [l_i(x)=prod_{j=1,j≠i}^{n}frac{x-x_j}{x_i-x_j} ]

    可以发现:

    • 若代入(x=x_i),则连乘的每一项都为(1),于是(l_i(x)=1)
    • 若代入(x=x_j,j≠i),则连乘中必有一项为(0),于是(l_i(x)=0)
      而这个(l_i(x))又刚好是由(n-1)个一次多项式连乘得到的,其必定为(n)次多项式。所以最终得到的(L_n(x))也是(n)次多项式。

    总的表达式:

    [L_n(x)=sum_{i=1}^{n}y_iprod_{j=1,j≠i}^{n}frac{x-x_j}{x_i-x_j} ]

  • 相关阅读:
    多校省选模拟33 C
    省选测试47 T2宝石(P5401 [CTS2019]珍珠) 题解
    省选测试39
    省选测试38
    省选测试37
    自嗨测试赛4
    自嗨测试赛3
    自嗨测试赛2
    自嗨测试赛1
    树状数组 学习笔记
  • 原文地址:https://www.cnblogs.com/zjlcnblogs/p/12748372.html
Copyright © 2011-2022 走看看