首页 > 其他分享 >Lagrange插值

Lagrange插值

时间:2023-09-29 21:55:06浏览次数:53  
标签:frac 运算 插值 表示法 cdots Lagrange

本文主要参考资料:找通项的终极方法!让每个人都能听懂的【拉格朗日插值法】_哔哩哔哩_bilibili

回顾,多项式的系数表示法和点值表示法:FFT(快速傅立叶变换)学习 - Isakovsky - 博客园 (cnblogs.com)

从系数表示法到点值表示法的运算叫做求值运算,从点值表示法到系数表示法的运算叫做插值运算.

假设有$k$个横坐标不同的点,记这$k$个点为$(x_0,y_0),(x_1,y_1),\cdots,(x_{k-1},y_{k-1})$

Lagrange插值的功能就是从$k$个横坐标不同的点中唯一确定一条$k-1$次多项式的曲线.$k$个自由变量正好对应着$k-1$次多项式中的$k$个参数.

Lagrange插值的思想是,对于每个$(x_i,y_i)$,找到一条$k-1$次曲线$p_i(x)$,称为插值基函数,使得其在$x=x_i$处的值为$y_i$,$x=x_0,x_1,\cdots,x_{i-1},x_{i+1},\cdots,x_{k-1}$处的值为$0$,

然后将这$k$条曲线相加,

接下来的问题就是,对于每个$(x_i,y_i)$,如何找到插值基函数$p_i(x)$,使得其在$x=x_i$处的值为$y_i$,$x=x_1,x_2,\cdots,x_{i-1},x_{i+1},\cdots,x_k$处的值为$0$呢?

以$x=x_1$为例,要找到曲线$p_1(x)$,使得$p_1(x_0)=p_1(x_2)=p_1(x_3)=0$,$p_1(x_1)=y_1$

观察这个式子:

$$\frac{x-x_0}{x_1-x_0}$$

这个式子在$x=x_1$处的值为$1$,在$x=x_0$处的值为$0$,

类似地,

$$\frac{x-x_2}{x_1-x_2}$$

在$x=x_1$处的值为$1$,在$x=x_2$处的值为$0$,

$$\frac{x-x_3}{x_1-x_3}$$

在$x=x_1$处的值为$1$,在$x=x_3$处的值为$0$,

发现规律没有?

$$\frac{x-x_j}{x_i-x_j}$$

在$x=x_i$处的值为$1$,在$x=x_j$处的值为$0$,

只需要将它们乘起来

$$\underset{j=0,1,\cdots,i-1,i+1,\cdots,k-1}{\Pi}\frac{x-x_j}{x_i-x_j}$$

这个式子中,在$x=x_i$处的值为$1$,在$x=x_0,x_1,\cdots,x_{i-1},x_{i+1},\cdots,x_{k-1}$处的值为$0$,

然后再乘上一个$y_i$,便得到了

$$p_i(x)=y_i\cdot\underset{j=0,1,\cdots,i-1,i+1,\cdots,k-1}{\Pi}\frac{x-x_j}{x_i-x_j}$$

由此便得到了Lagrange插值公式:

$$f(x)=\Sigma_{i=0}^{k-1}p_i(x)=\Sigma_{i=0}^{k-1}(y_i\cdot\underset{j=0,1,\cdots,i-1,i+1,\cdots,k-1}{\Pi}\frac{x-x_j}{x_i-x_j})$$

注意,Lagrange插值不允许数据带有噪音,否则会对运算结果产生较大影响,这被称为Runge现象.(或者更笼统地称之为过拟合)

 

标签:frac,运算,插值,表示法,cdots,Lagrange
From: https://www.cnblogs.com/isakovsky/p/17731671.html

相关文章

  • 拉格朗日插值 学习笔记
    拉格朗日插值学习笔记前言模拟赛考了,我不会,故学之。真的好抽象……背景众所周知,用\(n\)个点可以确定一个\(n-1\)次的多项式,那么应该如何确定呢?我们不妨考虑这样一个题目(其实就是洛谷模板题):给定\(n\)个点\((x,y)\),要求确定\(f(x)\)。当然,直接求出系数可能比较困难,......
  • 插值法
    多项式插值法使用n+1个点,确定一条唯一的多项式:多项式满足:写成矩阵的形式:显然左边是范德蒙德行列式,且有唯一解。根据克拉默法则,解为:其中将解代入原式子得到:二次累加可以交换次序: 其中: 其满足范德蒙德行列式,范德蒙德行列式计算如下:计算公式中的元素得到(不......
  • 线性插值
    线性插值publicstaticvoidinterpolate(List<Double>list){intstart=-1;for(inti=0;i<list.size();i++){if(list.get(i)==null)continue;if(start!=-1){intcount=i-sta......
  • 牛顿插值法 不同阶图像对比及Python代码实现
    importmatplotlib.pyplotaspltimportnumpyasnpdefnewton_interpolation(X,Y,x):"""计算x点的插值"""sum=Y[0]temp=np.zeros((len(X),len(X)))#将第一行赋值foriinrange(0,len(X)):temp[i,0]=Y[i]......
  • ArcPy基于Excel采样点长时间数据执行IDW插值与自动掩膜
      本文介绍基于Python中ArcPy模块,实现Excel数据读取并生成矢量图层,同时进行IDW插值与批量掩膜的方法。1任务需求  首先,我们来明确一下本文所需实现的需求。  现有一个记录有北京市部分PM2.5浓度监测站点在2019年05月18日00时至23时(其中不含19时)等23个逐小时PM2.5浓度数据......
  • 【Vue】大悟!模板语法-插值语法&指令语法
    Vue系列持续更新模板语法Vue模板语法包括两大类插值语法插值语法也就是两个大括号,也叫Mustache功能:用于解析标签体内容,可以进行运算、三元表达式等,将最终解析出来的内容插入到标签中写法:{{xxx}},xxx是js表达式,可以直接读取到data中的所有区域插值表达式中只能放置单个表达式,不......
  • 回归克里格、普通克里格插值在ArcGIS中的实现
      本文介绍基于ArcMap软件,实现普通克里格、回归克里格方法的空间插值的具体操作。目录1背景知识准备2回归克里格实现2.1采样点与环境变量提取2.2子集要素划分2.3异常值提取2.4土壤有机质含量经典统计学分析2.5回归方程求取2.6残差提取2.7残差普通克里格求解2.8土壤有......
  • Vue-----模板插值-----(v-once、v-html、v-bind使用)
    1、v-once当组件在进行变量插值时只会插值一次。某些情况下,某些组件的渲染是由变量控制的,但是我们想让它一旦渲染后就不能够再被修改,可以是由v-once来实现<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="widt......
  • 全局多项式(趋势面)与IDW逆距离加权插值:MATLAB代码
      本文介绍基于MATLAB实现全局多项式插值法与逆距离加权法的空间插值的方法,并对不同插值方法结果加以对比分析。目录1背景知识2实际操作部分2.1空间数据读取2.2异常数据剔除2.3验证集筛选2.4最小二乘法求解2.5逆距离加权法求解2.6插值精度检验2.7数据导出与专题地图制......
  • 【小记】拉格朗日插值
    拉格朗日插值是知道\(n\)次多项式在\(n+1\)个点的点值,快速求出\(f(x')\)的算法结论拉格朗日插值本质上就是该式子,首先我们知道的点值为当\(x=x_i\)时\(f(x)=y_i\)\[f(x)=\sum_{i=0}^{n}y_i\prod_{j\nei}\frac{x-x_j}{x_i-x_j}\]推导首先假设我们考虑第\(i\)个点值。那么我......