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

    退役后把之前没学的东西补一下。

    在离散数学中的拉格朗日插值。
    任给定$F$中$2n+2$个数$x_1,x_2,…,x_{n+1}$,$y_1,y_2,…,y_{n+1}$。
    其中$x_1,x_2,…x_{n+1}$互不相同。
    我们找到一个$n$次的多项式$L$,使得对于 $forall i,L(x_i)=y_i$。
    对于每一个$i$,我们构造出一个多项式$P_i$使得$P_i(x_i)=1,P_i(x_j)=0 quad j eq i$
    $$P_i(x)=prod_{k=1,k eq i}^{n} frac{x-x_k}{x_i-x_k}$$
    然后就可以得到$L$
    $$L(x)=sum_{i=1}^{n}y_iP_i(x)=sum_{i=1}^{n}y_iprod_{k=1,k eq i}^{n} frac{x-x_k}{x_i-x_k}$$
    预处理后暴力多项式除法 O(n^2)。
    当x是连续的时候,预处理,可以O(n)求单项值。
    这个式子可以变形一下:
    $$L(x)=prod_{i=1}^n(x-x_i) sum_{i=1}^{n} frac{y_i}{(x-x_i)prod_{k=1,k eq i}^n(x_k-x_i)} $$
    这个式子可以O(n)加进一个新点。
    据说可以$nlog^2$求原函数,但我不太会。

  • 相关阅读:
    js克隆
    一些笔试题
    js的严谨模式
    Docker之Compose服务编排
    最近5年183个Java面试问题列表及答案[最全]
    Rancher概述
    迭代器和生成器
    Prometheus 安装
    Prometheus 介绍
    装饰器函数
  • 原文地址:https://www.cnblogs.com/ezyzy/p/8504954.html
Copyright © 2011-2022 走看看