题目

【模板】拉格朗日插值

拉格朗日公式

拉格朗日插值法:\[F(x) = \sum\limits_{k=0}^{n}{y_k\frac{\prod\limits_{j \not= k}^{}{(x-x_j)}}{\prod\limits_{j \not= k}^{}{(x_k-x_j)}}}\]

我们先把右边那部分提出来看:\[\ell _{j}(x):=\prod _{{i=0,\,i\neq j}}^{{k}}{\frac {x-x_{i}}{x_{j}-x_{i}}}={\frac {(x-x_{0})}{(x_{j}-x_{0})}}\cdots {\frac {(x-x_{{j-1}})}{(x_{j}-x_{{j-1}})}}{\frac {(x-x_{{j+1}})}{(x_{j}-x_{{j+1}})}}\cdots {\frac {(x-x_{{k}})}{(x_{j}-x_{{k}})}}\]

举个例子吧:有二次函数上的三点\(f(4)=10,f(5)=5.25,f(6)=1\),求\(f(18)\)

求出三个基本式:

\[\ell _{0}(x)={\frac {(x-5)(x-6)}{(4-5)(4-6)}}\ell _{1}(x)={\frac {(x-4)(x-6)}{(5-4)(5-6)}}\ell _{2}(x)={\frac {(x-4)(x-5)}{(6-4)(6-5)}}\]

即:
\[\begin{aligned}p(x)&=f(4)\ell _{0}(x)+f(5)\ell _{1}(x)+f(6)\ell _{2}(x)\\ &=10\cdot {\frac {(x-5)(x-6)}{(4-5)(4-6)}}+5.25\cdot {\frac {(x-4)(x-6)}{(5-4)(5-6)}}+1\cdot {\frac {(x-4)(x-5)}{(6-4)(6-5)}}\\ &={\frac {1}{4}}(x^{2}-28x+136)\end{aligned}\]

理解拉格朗日插值的做法:

对于给定的k+1个点:\((x_{0},y_{0}),\ldots ,(x_{k},y_{k})\)

拉格朗日插值法的思路是找到一个\((\)在一点\(x_{j}\)取值为\(1\),而在其他点取值都是\(0\)的\()\)多项式\(\ell _{j}(x)\)

这样,多项式\(y_{j}\ell _{j}(x)\)在点\(x_{j}\)取值为\(y_{j}\),而在其他点取值都是\(0\)

而多项式\(L(x):=\sum _{{j=0}}^{{k}}y_{j}\ell _{j}(x)\)就可以满足

\[L(x_{j})=\sum _{{i=0}}^{{k}}y_{i}\ell _{i}(x_{j})=0+0+\cdots +y_{j}+\cdots +0=y_{j}\]

证明

而我们怎么找到\(\ell _{j}(x)\)呢?

在其它点取值为0的多项式容易找到,由于假定\(x\)两两互不相同,故只有当\(x=x_j\)时上面的取值才不等于\(0\):

\[\begin{aligned}\\ &(x-x_{0})\cdots (x-x_{{j-1}})(x-x_{{j+1}})\cdots (x-x_{{k}})\Longrightarrow\\ &(x_{j}-x_{0})\cdots (x_{j}-x_{{j-1}})(x_{j}-x_{{j+1}})\cdots (x_{j}-x_{{k}})\end{aligned}\]

于是,将多项式除以这个取值,就得到一个满足“在\(x_{j}\)取值为\(1\),而在其他点取值都是\(0\)的多项式”:

\(\ell _{j}(x):=\prod _{{i=0,\,i\neq j}}^{{k}}{\frac {x-x_{i}}{x_{j}-x_{i}}}={\frac {(x-x_{0})}{(x_{j}-x_{0})}}\cdots {\frac {(x-x_{{j-1}})}{(x_{j}-x_{{j-1}})}}{\frac {(x-x_{{j+1}})}{(x_{j}-x_{{j+1}})}}\cdots {\frac {(x-x_{{k}})}{(x_{j}-x_{{k}})}}\)
这就是拉格朗日基本多项式

用此公式能优化成\(O(n^2)\):
\(F(x) = \sum\limits_{k=0}^{n}{y_k\frac{\prod\limits_{j \not= k}^{}{(x-x_j)}}{\prod\limits_{j \not= k}^{}{(x_k-x_j)}}}\)

特殊情况

一个关于\(x\)的\(n\)次多项式,当已经知道\(F(x),x\in [0,n]\)的值时,有一个特殊公式:
\[F(x)=\sum_{i=0}^n(-1)^{n-i}F(i)\frac{x(x-1)(x-2)...(x-n)}{(n-i)!i!(x-i)}\]

转载于:https://www.cnblogs.com/y2823774827y/p/10722276.html

拉格朗日插值与拉格朗日反演相关推荐

  1. 拉格朗日插值_拉格朗日插值定理的理论基础

    缺失,几乎是不可避免的.只要做数据处理,不可避免的工作就是插值.而插值里面比较常用的方法之一就是拉格朗日插值法,这篇文章就跟大家讲讲拉格朗日插值的理论基础. 为什么需要进行插值 我们进行数据处理的理想 ...

  2. python缺失值拉格朗日插值_拉格朗日插值-python

    在数据库中,有些数据是异常值或者空值,这些值在分析的时候应该特殊处理,比如最简单的忽略掉或者通过算法推测它的值.其中拉格朗日插值就是通过其他已经知道的值,对x位置缺失的值插入的算法. 假定我们已经知道 ...

  3. 【算法讲14:拉格朗日插值】拉格朗日插值入门 与 拉格朗日插值差分法

    [算法讲14:拉格朗日插值] 前言 引入 ⌈\lceil⌈拉格朗日插值⌋\rfloor⌋ 代码 ⌈\lceil⌈拉格朗日插值⌋\rfloor⌋差分法运用 代码 前言 拉格朗日插值可以出的很难,对于一个 ...

  4. 【学习笔记】拉格朗日插值

    整理的算法模板合集: ACM模板 目录 P4781 [模板]拉格朗日插值 重心拉格朗日插值法 拉格朗日插值法求系数 自然数k次幂的和 点我看多项式全家桶(●'◡'●) P4781 [模板]拉格朗日插值 ...

  5. matlab有限域多项式除法_有限域GF(2^8)的四则运算及拉格朗日插值

    域的性质: 群和域在数学上的概念就不解释,可以参考维基百科.当然也可以参考<密码编码学与网络安全>这书的有限域一章.形象地说,域有这样一个性质:在加法和乘法上具有封闭性.也就是说对域中的元 ...

  6. P6271 [湖北省队互测2014]一个人的数论(莫比乌斯反演,拉格朗日插值)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 P6271 [湖北省队互测2014]一个人的数论(莫比乌斯反演,拉格朗日插值) Problem Sol ...

  7. 青春野狼不做理性小魔女的梦 - 莫比乌斯反演 - 拉格朗日插值 - 杜教筛

    题目大意: 给定 { A k } \{A_k\} {Ak​}(有些位置是-1表示一会要由你决定). 对每个 m ∈ [ 1 , n ] m\in[1,n] m∈[1,n],求有多少方案(将 − 1 - ...

  8. EOJ Monthly 2019.11 E. 数学题(反演 + 杜教筛 + 拉格朗日插值)

    EOJ Monthly 2019.11 ∑i=1n∑a1=1i∑a2=1i∑a3=1i⋯∑ak−1i∑aki[gcd(a1,a2,a3,-,ak−1,ak,i)==1]=∑i=1n∑d∣iμ(d)⌊i ...

  9. [Luogu3600] 随机数生成器 [概率期望动态规划 拉格朗日插值离散微积分]

    [Link\frak{Link}Link] 求 E[ans=max⁡1≤i≤q(min⁡li≤j≤riaj)]\rm{E}\left[ans=\max\limits_{1\le i\le q}\lef ...

  10. BZOJ 2137 submultiple(约数,拉格朗日插值求自然数k次幂和)【BZOJ 修复工程】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 题目链接 https://hydro.ac/d/bzoj/p/2137 是 hydro 的 BZOJ ...

最新文章

  1. 长见识!居然还有程序员考公指南这种东西?
  2. Elicpse创建Maven项目
  3. C# 正则表达式验证
  4. 自问自答 学习系列(1):从图像分类,到损失函数,到神经网络
  5. 可执行文件组成及内存映射
  6. 程序员算事业单位吗_清北毕业出来的程序员不如三本公务员?网友:你开心就好...
  7. 使用WIF实现单点登录Part I——Windows Identity Foundation介绍及环境搭建 -摘自网络...
  8. 二分法05:搜索旋转排序数组
  9. Oracle前10条记录
  10. 宝藏又小众的室内场景unity3d模型素材网站分享
  11. Solr数据库连接之多表关联
  12. Magento常用功能插件
  13. 安卓java百度地图api文档_Android调用百度地图API 实时定位代码
  14. iphone长截图哪个软件好_亲身体验过13款滚动截屏App,谁才是最好用的iPhone长截屏工具?...
  15. C++ fgets()函数
  16. EXCEL表格数据合并
  17. PHP面向对象-多态
  18. iFixit高清完整拆解:iPhone 7 Plus
  19. 机器视觉(二):机器视觉硬件技术
  20. Windows以服务方式运行Java程序

热门文章

  1. webpack全局安装和安装过程中碰见的一些坑(npm error)解决方案
  2. 二十四、JAVA集合框架(四)
  3. eclipse、EditPlus等编辑器选中列(块)的方法
  4. Docker 概述 与 CentOS 上安装、卸载、启动
  5. 阶段3 1.Mybatis_07.Mybatis的连接池及事务_2 连接池介绍
  6. Java异常处理之------Java方法中throws Exception使用案例!什么情况下使用throws Exception?...
  7. php中使用curl
  8. HDU3501——欧拉函数裸题
  9. 【转】使用Python的Requests库进行web接口测试
  10. Selenium+Python自动化测试学习问题总结笔记