拉格朗日插值法

插值-拉格朗日插值法

独自空忆成欢 提交于 2020-03-09 23:42:14
朗格朗日插值法的定义 原理 一般地,若已知[ ]在互不相同 n+1 个点[ ]处的函数值[ ]( 即该函数过[ ] 这n+1个点),则可以考虑构造一个过这n+1 个点的、次数不超过n的多项式[ ] ,使其满足: [ ] 要估计任一点ξ,ξ≠xi,i=0,1,2,...,n,则可以用Pn(ξ)的值作为准确值f(ξ)的近似值,此方法叫做“插值法”。 称式(*)为插值条件(准则),含xi(i=0,1,...,n)的最小区间[a,b],其中a=min{x0,x1,...,xn},b=max{x0,x1,...,xn}。 满足插值条件的、次数不超过n的多项式是存在而且是唯一的。 定义 对某个多项式函数,已知有给定的k + 1个取值点: [ ] 假设任意两个不同的x都互不相同,那么应用拉格朗日插值公式所得到的拉格朗日插值多项式为: 其中每个 为拉格朗日基本多项式(或称插值基函数),其表达式为: 例子 例如:当n=4时,上面的公式可简化为: 这是一个过4个点的唯一的三次多项式。 个人体会 拉格朗日插值法用于补充缺失值,原理就是过N个点肯定会有一个多项式能满足条件,多项式次数最高是N-1(百度百科中的定义以N+1个数为样本,其实是一样的)。设多项式的每一项的x为(x0,x1……xN),则代入每一个点,就能得到多项式系数,也就能得到多项式。 个人感觉这种插值方法不会丢失数据信息

拉格朗日插值法(图文详解)

♀尐吖头ヾ 提交于 2019-12-15 20:40:44
拉格朗日插值入门 由小学知识可知,n个点(x_i,y_i)可以唯一地确定一个多项式 现在,给定n个点,请你确定这个多项式,并将k代入求值 求出的值对998244353取模 Input 第一行两个正整数n,k,含义如题 接下来n行,每行两个正整数x_i,y_i含义如题。n≤2000,xi,yi,k≤998244353 Output 一个整数表示答案 Sample Input 3 100 1 4 2 9 3 16 Sample Output 10201 //样例一中的三个点确定的多项式是f(x)=x^2+2x+1,将100代入求值得到10201 #include<bits/stdc++.h> using namespace std; const int mod=998244353; int x[2010],y[2010],a=1,b=0; int powmod(int a,int b) { int ans=1; while(b) { if(b&1)ans=1ll*ans*a%mod; a=1ll*a*a%mod; b>>=1; } return ans; } int main() { int n,k; scanf("%d%d",&n,&k); for(int i=1;i<=n;i++) scanf("%d%d",x+i,y+i); for(int i=1;i<=n;i++) { int

拉格朗日插值法学习笔记

做~自己de王妃 提交于 2019-12-01 06:56:53
拉格朗日插值法学习笔记 ​ 在数值分析中,拉格朗日插值法是以法国十八世纪数学家约瑟夫·拉格朗日命名的一种多项式插值方法。许多实际问题中都用函数来表示某种内在联系或规律,而不少函数都只能通过实验和观测来了解。如对实践中的某个物理量进行观测,在若干个不同的地方得到相应的观测值,拉格朗日插值法可以找到一个多项式,其恰好在各个观测的点取到观测到的值。这样的多项式称为拉格朗日(插值)多项式。数学上来说,拉格朗日插值法可以给出一个恰好穿过二维平面上若干个已知点的多项式函数。拉格朗日插值法最早被英国数学家爱德华·华林于1779年发现,不久后(1783年)由莱昂哈德·欧拉再次发现。1795年,拉格朗日在其著作《师范学校数学基础教程》中发表了这个插值方法,从此他的名字就和这个方法联系在一起。 ​ 给定 \(n + 1​\) 个横坐标不相同的点,可以唯一确定一个 \(n​\) 次的多项式,我们可以直接列方程利用高斯消元求解,时间复杂度 \(O(n^3)​\) 。 ​ 而另一种方法拉格朗日插值可以在 \(O(n^2)\) 的时间复杂度内完美的求解出答案,可以说是十分完美了。 拉格朗日插值法 为了接下来的讲解方便,我们引进一些函数和变量来辅助讲解。 拉格朗日插值法基函数(后文内简称为基函数) \(g(x)​\) : 下面给出 \(g(x)​\) 的定义式: \(g(x)=\Pi_{i=1,i!=x}^{n