第三十五篇 拉格朗日多项式插值

插值多项式

首先考虑一个函数的推导,该函数精准地通过一系列np离散数据点。虽然有无限多的函数具备这个条件,但我们将专注于最简单的一个,一个n阶多项式,其中n = np−1。我们称这个函数为“插值多项式”

因此,如果有n + 1个点为(xi, yi)当i = 0,1,2,…, n,然后

在这篇和下篇中,将描述推导Qn(x)的两种方法;这两种方法都非常通用,适用于任何一组初始数据点,但是,如果x数据间隔相等,差分方法将具有很多优点。

拉格朗日多项式

这种方法适用于任意n + 1个数据点(xi, yi), i = 0,1,2,…,n,可以得到下面形式的插值多项式

Li(x), i = 0,1,2,…,n本身就是n次多项式,定义为“拉格朗日多项式”

由上式可知,拉格朗日多项式具有这样的性质

拉格朗日多项式的另一个性质是它们的和为单位1,因此

计算实例
使用拉格朗日去推导通过下面点的多项式,然后去计算x=4.5时候的y

有三个(np = 3)数据点,因此n = 2,需要的插值多项式将是二阶的,因此

三个拉格朗日多项式将会计算得到,

通过对应的y值“加权”到每个拉格朗日多项式,然后进行化简得到

作为检验,可以将x的三个值代入插值多项式得到

如下图所示。得到需要值得结果


可见看出,拉格朗日多项式方法中的x值不需要等距,也不需要排列成任何特定的顺序。
拉格朗日方法的一个缺点是,为了计算一个插值,必须执行大量的算术等差运算。,另一个问题涉及到拉格朗日方法的效率,如果添加新数据点集,不能从已经计算得拉格朗日多项式中换的任何方便,整个过程必须从头开始。
程序如下:

import numpy as np
npo=4;xi=4.5
x=np.array([1,3,6,5])
y=np.array([1,5,10,9])
print('使用拉格朗日多项式得插值法')
print('数据点','  x    y')
for i in range(1,npo+1):print('{:13.4e}'.format(x[i-1]),end='')print('{:13.4e}'.format(x[i-1]))
yi=0
for i in range(1,npo+1):term=1.0for j in range(1,npo+1):if j!=i:term=term*(xi-x[j-1])/(x[i-1]-x[j-1])yi=yi+term*y[i-1]
print('插值点','   x   y')
print('{:13.4e}'.format(xi),end='')
print('{:13.4e}'.format(yi))

终端输出结果如下

使用拉格朗日多项式(Lagrangian polynomials)的插值法(python,数值积分)相关推荐

  1. 拉格朗日插值法+python实现

    拉格朗日插值法 1.数学原理 1.1 线性插值 1.2二次插值 1.3 n次拉格朗日插值多项式 2.Python实现 本文将介绍拉格朗日插值法得数学原理,并用Python实现. 1.数学原理 首先我们 ...

  2. 拉格朗日多项式插值法 思路详解+详细代码

    在数学建模过程中大家经常会使用插值法对数据进行处理,而其中拉格朗日多项式插值法是较为常用到的. 以下是我在学习拉格朗日插值法时通过阅读许多大佬博主的文章时发现,要么只有代码,要么只有理论讲解或者例题, ...

  3. 插值法亚像素边缘检测(拉格朗日多项式插值法)

    原理 拉格朗日插值法的直观理解和推倒思路,下面知乎这位马同学讲的很好理解 https://www.zhihu.com/question/58333118 这篇博客把整个数学原理,公式推导,讲的很详细了 ...

  4. 数学建模准备 插值(拉格朗日多项式插值,牛顿多项式插值,分段线性插值,分段三次样条插值,分段三次Hermite插值)

    文章目录 摘要(必看) 0 基础概念 什么是插值 插值用途 什么是拟合 插值和拟合的相同点 插值和拟合的不同点 1 常用的基本插值方法 1.1 多项式插值法 1.1.1 拉格朗日多项式插值法 多项式插 ...

  5. 插值与拟合 (一) : 拉格朗日多项式插值 、Newton插值 、分段线性插值、Hermite插值 、样条插值、 B 样条函数插值、二维插值

    插值:求过已知有限个数据点的近似函数. 拟合:已知有限个数据点,求近似函数,不要求过已知数据点,只要求在某种意义下它在这些点上的总偏差最小. 插值和拟合都是要根据一组数据构造一个函数作为近似,由于近似 ...

  6. 拉格朗日松弛(lagrangian relaxation) - An Overview

    拉格朗日松弛(lagrangian relaxation) - An Overview 文章目录 拉格朗日松弛(lagrangian relaxation) - An Overview 1. Appl ...

  7. c语言构造插值多项式,拉格朗日多项式插值(C语言).docx

    拉格朗日多项式插值(C语言) #include #include #include float lagrange(float *x,float *y,float xx,int n)/*拉¤-格?朗¤¨ ...

  8. 【插值】牛顿插值、拉格朗日插值、三次样条插值的Python代码实现

    插值简介 插值即根据有限的离散点绘制出穿过所有样本点的曲线,从直观上想象似乎画一条穿过n个特定点的曲线有无数种画法,但从数学意义上来说我们希望画出的曲线能够尽量平滑,震荡幅度尽量小能够在非样本点上符合 ...

  9. 【Python数值积分】

    Python数值积分 数值积分 导入模块 数值积分 积分法则 辛普森求积公式 Simpson's rule 高斯求积公式 Gaussian quadrature 使用SciPy进行数值积分 高斯积分 ...

最新文章

  1. 清华大学范玉顺互联网与大数据_清华大学范玉顺:大数据、人工智能与工业互联网...
  2. Python2安装教程(以最终版本Python2.7.18为例)
  3. csdn将文章添加到专栏
  4. think.class.php下载,PHP_ThinkPHP实现将本地文件打包成zip下载,首先,将FileToZip.class文件放到T - phpStudy...
  5. mysql 重置更新祖级字段
  6. 【下载】《看见新力量》第二期,带你走进数十位科技创业者背后的故事
  7. 首届Apache Hadoop技术社区中国Meetup在京举办(附PPT)
  8. 表变量与临时表的优缺点
  9. 北京重磅发布:杰青、优青放宽女性年龄限制,基金人才评审“同等条件下女性优先”...
  10. 【干货】31篇关于深度学习必读论文汇总(附论文下载地址)
  11. tcp丢包率_网络编程 | TCP/IP基础知识
  12. 分享一个Android源码在线阅读的网址
  13. vue路由(router)设置:父路由默认选中第一个子路由,切换子路由让父路由高亮不会消失
  14. VC最常见的20种VC++编译错误信息
  15. (8)seetaface6 JNI之人脸相似度1:1(包含戴口罩人脸相似度)计算
  16. 校园网内实现文件共享
  17. 解决WIN10打开XBOX闪退问题(2022)
  18. 一台服务器可以安装多个mysql数据库_在一台Linux服务器上安装多个MySQL实例(一)--使用mysqld_multi方式...
  19. 冰火魔界服务器维修,冰火魔界手游在电脑上怎么玩 冰火魔界电脑版安装方法...
  20. 用友系统服务器如何安装,用友数据库服务器安装步骤

热门文章

  1. TabLayout设置Tab间距
  2. vert.x demo启动步骤
  3. 读书随记-当下尽力就好
  4. 格拉斯哥计算机什么专业好,2021格拉斯哥排名全英前十的专业有哪些
  5. Intel Media SDK(QSV)参数说明(未完成)
  6. 「 刘一哥GIS」CSDN专业技术博文专栏目录索引
  7. keepalived双机双vip测试
  8. 安装spacy库出现错误OSError: [E050] Can‘t find model ‘en‘.以及安装成功了但是有些功能无法使用等问题
  9. 基于Kerberos认证的NFS服务器
  10. 加强版企业微信社群运营必备的10大工具