首页 > 其他分享 >【数学】多项式插值

【数学】多项式插值

时间:2024-04-10 21:14:11浏览次数:20  
标签:下标 插值 多项式 j0 cdot cdots 数学

问题描述

给出 \(n + 1\) 个二维平面上的点对 \((x_0, y_0), (x_1, y_1), (x_2, y_2), \cdots, (x_{n}, y_{n})\) ,求一个经过这些点的不超过 \(n\) 次的多项式 \(P(x) = p_{n} \cdot x^{n} + p_{n - 1} \cdot x^{n - 1} + p_{n - 2} \cdot x^{n - 2} + \cdots + p_{1} \cdot x + p_{0}\) ,也就是 \(P(x_i) = y_i\) 。这个多项式是唯一的。

这个过程叫做插值,也是从多项式的点值表达转换成系数表达的问题。

注:这里使用从0开始的下标是为了让点的下标和多项式系数的下标还有 \(x\) 的幂次显得整齐,下面的代码中的下标不一定是从0开始的。

解决思路

拉格朗日插值

由这 \(n + 1\) 个点,可以构造对应的 \(n + 1\) 个多项式,其中第 \(i\) 的多项式的形式为:

\[l_i(x) = \prod\limits_{j = 0, \; j \neq i}^{n} \frac{(x - x_j)} {(x_i - x_j)} \]

把下标为 \(i\) 的点 \(x_i\) 代入,可以得到:

\[\begin{eqnarray} l_i(x_i) &=& \prod\limits_{j = 0, \; j \neq i}^{n} \frac{(x_i - x_j)} {(x_i - x_j)} \nonumber \\ &=& \prod\limits_{j = 0, \; j \neq i}^{n} 1 \nonumber \\ &=& 1 \nonumber \end{eqnarray} \]

把给定的点中,下标不为 \(i\) 的某个点 \(x_{j0}\) 代入,可以得到:

\[ \begin{eqnarray} l_i(x_{j0}) &=& \prod\limits_{j = 0, \; j \neq i}^{n} \frac{(x_{j0} - x_j)} {(x_i - x_j)} \nonumber \\ &=& 0 \nonumber \end{eqnarray} \]

因为分子部分总存在 $ (x_{j0} - x_{j0}) = 0 $ 所以上式为 \(0\) 。

把不在给定的点中的任意点 \(x\) 代入,显然有 \(n\) 项,所以,这是一个 \(n\) 次的多项式。

于是,把上面的 \(n + 1\) 个不同的 \(l_i(x)\) 和 \(y_i\) 相乘,再相加,即可构造下面的多项式:

\[L(x) = \sum\limits_{i = 0}^{n} y_i \cdot l_i(x) \]

由上面的推理可知, $ L(x_i) = y_i $ ,并且 \(L(x_i)\) 是一个不超过 \(n\) 次的多项式(由于最高次的系数可能会被抵消,导致次数降低)。

由唯一性定理可知,这个 \(L(x)\) 就是我们要找的 \(P(x)\) ,即

\[P(x) = L(x) \]

模板:【数学】多项式插值 - 拉格朗日插值

牛顿插值

多项式快速插值

高斯消元

求解未知数为 \(p_i, i = 0, 1, 2, \cdots, n\) 的方程组

\[\begin{bmatrix} x_0^{n} & x_0^{n - 1} & x_0^{n - 2} & \cdots & x_0 \\ x_1^{n} & x_1^{n - 1} & x_1^{n - 2} & \cdots & x_1 \\ x_2^{n} & x_2^{n - 1} & x_2^{n - 2} & \cdots & x_2 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ x_{n}^{n} & x_{n}^{n - 1} & x_{n}^{n - 2} & \cdots & x_{n} \end{bmatrix} = \begin{bmatrix} y_0 \\ y_1 \\ y_2 \\ \vdots \\ y_{n} \end{bmatrix} \]

利用高斯消元在 \(O(n^3)\) 时间内求出这个方程组的解。

引申阅读

重心拉格朗日插值法、差分法、龙格现象

https://www.luogu.com.cn/problem/solution/P4781

标签:下标,插值,多项式,j0,cdot,cdots,数学
From: https://www.cnblogs.com/purinliang/p/18127416

相关文章

  • 组合数学程序包 by My_Desire
    BeginPackage["My`"]RTRow::usage="ReadTrianglebyRow"TpQ::usage="全正性判断"LSTP::usage="三角全正性判断"RiordanArray::usage="RiordanArray[d_Function,h_Function,n_]"ExpRiordanArray::usage="ex......
  • 二十九 4009. 收集卡牌 (数学期望|状压DP)
    4009.收集卡牌(数学期望|状压DP)略importjava.util.*;publicclassMain{privatestaticfinalintN=16,M=1<<N;privatestaticintn,m;privatestaticdouble[]p=newdouble[N];privatestaticdouble[][]dp=newdouble[M][N*5......
  • 全排列价值(数学问题)
     1importjava.util.*;23publicclassDemo1{4publicstaticvoidmain(String[]args){5Scannersc=newScanner(System.in);6longn;7n=sc.nextLong();8longres=n*(n-1)/2%998244353;9for(in......
  • 【机器学习】数学基础详解
    线性代数:构建数据的骨架数学对象标量(Scalar)标量是最基本的数学对象,代表了单个的数值,无论是整数还是实数。在机器学习中,标量可以用来表示一个模型的单个参数,如偏差(bias)项。向量(Vector)向量是标量的直接扩展,表示由多个标量组成的有序集合。在数据科学中,一个实例或数据点的......
  • 洛谷题单指南-数学基础问题-P3383 【模板】线性筛素数
    原题链接:https://www.luogu.com.cn/problem/P3383题意解读:素数筛模版题。解题思路:素数筛介绍所谓素数(质数),是指除了1和它本身以外不再有其他因数的自然数,一般用试除法判断素数(时间复杂度:O(sqrt(n))):boolisprime(intx){if(x<=1)returnfalse;for(inti=2;i*......
  • 洛谷题单指南-数学基础问题-P2926 [USACO08DEC] Patting Heads S
    原题链接:https://www.luogu.com.cn/problem/P2926题意解读:有n个数,计算每个数能整除其他数的个数。解题思路:a[100005]记录所有的数,h[1000005]记录所有数的个数,cnt[1000005]记录所有数能整除其他数的个数只需要读入a数组,同时更新h[a[i]]++再依次从小到大遍历h的下标每一个数i,如......
  • Python基于Excel数据加以反距离加权空间插值并掩膜图层
      本文介绍基于Python中ArcPy模块,实现Excel数据读取并生成矢量图层,同时进行IDW插值与批量掩膜的方法。1任务需求  首先,我们来明确一下本文所需实现的需求。  现有一个记录有北京市部分PM2.5浓度监测站点在2019年05月18日00时至23时(其中不含19时)等23个逐小时PM2.5浓度数......
  • 组合数学
    生成函数使用母函数的方法求谢列数列的通项\(a_n.\)\((1)a_0=2,a_1=5,a_{n+2}=3a_{n+1}-2a_n(n=0,1,2,\cdots);\)解:设\(f(x)=a_0+a_1x+a_2x^2+a_3x^3+\cdots.\)则:\(\qquad-3f(x)=-3a_0x-3a_1x^2-3a_2x^3-\cdots.\)\(\quad\quad\qquad\qquad2f(x)=+2a_0x^2+2a_1x^3+2a_2x......
  • C语言08-函数(递归、字符串、日期时间、数学计算函数),指针
    第11章函数11.7递归函数​ ——相当于俄罗斯套娃;一个程序未执行结束会挂起,相当于堆栈一个函数在函数体内又调用了本身,我们称为递归调用,这样的函数就是递归函数。递归函数成功执行需满足以下两个条件:(1)必须有一个明显的结束条件。(2)必须有一个趋近于结束条件的趋势......
  • 洛谷题单指南-数学基础问题-P2638 安全系统
    原题链接:https://www.luogu.com.cn/problem/P2638题意解读:把a个红球、b个黑球放入n个盒子,求所有的方法。解题思路:盒子中可以放也可以不放,可以放任意个,因此,题目可以转化为将i个红球(0<=i<=a),j个黑球(0<=j<=b)放入n个盒子的方案数之和,设f(n,i,j)表示将一个红球、j个黑球放入n......