理解插值法(拉格朗日、牛顿插值法)
引言
我们首先理解下插值法主要用来做什么事:插值法就是利用已知的点建立合适的插值函数 f ( x ) f(x) f(x) ,未知点 x i x_i xi 由插值函数 f ( x ) f(x) f(x) 可以求出函数值 f ( x i ) f(x_i) f(xi),用求得的 ( x i , f ( x i ) ) (x_i,f(x_i)) (xi,f(xi))近似代替未知点。
对于平面上相异(无两点在一条直线上)的 n n n 个点,我们必定可以找到一个 n − 1 n-1 n−1 次多项式 y = a 0 + a 1 x + a 2 x 2 + . . . a n − 1 x n − 1 y=a_0+a_1x+a_2x^2+...a_{n-1}x^{n-1} y=a0+a1x+a2x2+...an−1xn−1 ,使这个多项式函数经过这些点。拉格朗日插值法和牛顿插值法所要做的就是求得这个多项式函数。只是求得多项式的方式有些不同,下面详细介绍。
拉格朗日插值法
- 已知 n n n 个点的坐标 ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) . . . . ( x n , y n ) (x_1,y_1),(x_2,y_2),(x_3,y_3)....(x_n,y_n) (x1,y1),(x2,y2),(x3,y3)....(xn,yn),求得一个 n − 1 n-1 n−1 次多项式 过这些点。
- 假设 n − 1 n-1 n−1 次多项式为: y = a 0 + a 1 x + a 2 x 2 + . . . a n − 1 x n − 1 y=a_0+a_1x+a_2x^2+...a_{n-1}x^{n-1} y=a0+a1x+a2x2+...an−1xn−1
- 将n个点代入多项式得: y 1 = a 0 + a 1 x 1 + a 2 x 1 2 + . . . a n − 1 x 1 n − 1 y_1=a_0+a_1x_1+a_2x_1^2+...a_{n-1}x_{1}^{n-1} y1=a0+a1x1+a2x12+...an−1x1n−1 y 2 = a 0 + a 1 x 2 + a 2 x 2 2 + . . . a n − 1 x 2 n − 1 y_2=a_0+a_1x_2+a_2x_2^2+...a_{n-1}x_{2}^{n-1} y2=a0+a1x2+a2x22+...an−1x2n−1 . . . . . ..... ..... y n = a 0 + a 1 x n + a 2 x n 2 + . . . a n − 1 x n n − 1 y_n=a_0+a_1x_n+a_2x_n^2+...a_{n-1}x_{n}^{n-1} yn=a0+a1xn+a2xn2+...an−1xnn−1
- 易解出拉格朗日插值多项式为: L ( x ) = y 1 ( x − x 2 ) ( x − x 3 ) . . . ( x − x n ) ( x 1 − x 2 ) ( x 1 − x 3 ) . . . ( x 1 − x n ) + y 2 ( x − x 1 ) ( x − x 3 ) . . . ( x − x n ) ( x 2 − x 1 ) ( x 2 − x 3 ) . . . ( x 2 − x n ) L(x)=y_1\frac{(x-x_2)(x-x_3)...(x-x_n)}{(x_1-x_2)(x_1-x_3)...(x_1-x_n)}+y_2\frac{(x-x_1)(x-x_3)...(x-x_n)}{(x_2-x_1)(x_2-x_3)...(x_2-x_n)} L(x)=y1(x1−x2)(x1−x3)...(x1−xn)(x−x2)(x−x3)...(x−xn)+y2(x2−x1)(x2−x3)...(x2−xn)(x−x1)(x−x3)...(x−xn) . . . + y n ( x − x 1 ) ( x − x 2 ) . . . ( x − x n − 1 ) ( x n − x 1 ) ( x n − x 2 ) . . . ( x n − x n − 1 ) ...+y_{n}\frac{(x-x_1)(x-x_2)...(x-x_{n-1})}{(x_{n}-x_1)(x_{n}-x_2)...(x_{n}-x_{n-1})} ...+yn(xn−x1)(xn−x2)...(xn−xn−1)(x−x1)(x−x2)...(x−xn−1)
- 上式也可以写为:
L ( x ) = ∑ i = 1 n y i ∏ j = 1 , j = ̸ i n x − x j x i − x j L(x)=\sum_{i=1}^{n}y_i \prod_{j=1,j =\not i}^n \frac{x-x_j}{x_i-x_j} L(x)=i=1∑nyij=1,j≠i∏nxi−xjx−xj
拉格朗日插值公式在理论分析理解上很容易理解,但是若插值节点发生改变时,插值公式随之就要重新计算生成,在实际计算中会占用大量的计算量。e.g. 现在有n个节点生成的插值公式,这里第 n+1 个节点也要加入进去,若使用拉格朗日插值法,之前的n个节点生成的插值公式则要完全调整废弃,重新生成含 n+1 个节点插值公式,这样就带来很大的计算量。正常的想法是,当一个节点要加入,我们只需在原来的插值公式上稍加修改就可以得到新的插值公式,牛顿法的出现正是克服这个问题,当插值节点发生增加,新的插值公式基于原来的公式很容易就得到。
牛顿插值法
要理解牛顿插值法首先理解一些概念:
差商:
设函数 f ( x ) f(x) f(x) ,已知其 n n n个插值节点为 ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) . . . . ( x n , y n ) (x_1,y_1),(x_2,y_2),(x_3,y_3)....(x_n,y_n) (x1,y1),(x2,y2),(x3,y3)....(xn,yn),我们定义:
- 一阶差商
- 二阶差商
- n n n阶差商
其中 ⋀ \bigwedge ⋀是省略的意思 ̄□ ̄||。
由以上定义我们的到 差商表 如下:
基于差商的牛顿插值公式:
根据差商的定义,我们可以得到下面公式:
我们可以从后往前不断地代入消去得到:
这时候上式有两部分组成, (不含未知x的)牛顿插值逼近函数 P ( x ) P(x) P(x)、(含未知x的)误差函数 R ( x ) R(x) R(x)也称为余项 把 R ( x ) R(x) R(x) 去掉,就得到牛顿插值公式:
拉格朗日、牛顿插值法小结
motivation: 将缺失的函数值对应的点 x x x 代入多项式得到缺失值的近似值 f ( x ) f(x) f(x)。
牛顿插值法和拉格朗日插值法两者都是多项式插值法。从本质上说,两者给出的结果是一样的(相同的次数,相同的系数多项式),只不过表示的形式不同。牛顿插值法与拉格朗日插值法相比具有承袭性和易于变动的特点。
理解插值法(拉格朗日、牛顿插值法)相关推荐
- 拉格朗日插值的优缺点_拉格朗日插值法与牛顿插值法的比较
第 1 页 共 7 页 拉格朗日插值法与牛顿插值法的比较 [ 摘 要 ] 在生产和科研中出现的函数是多样的.对于一些函数很难找出其解析表达式.即使在某些情况下,可以写出函 数的解析表达式,但由于解析表 ...
- 拉格朗日插值的优缺点_拉格朗日插值的优缺点_拉格朗日插值法与牛顿插值法的比较...
第 1 页 共 7 页 拉格朗日插值法与牛顿插值法的比较 [ 摘 要 ] 在生产和科研中出现的函数是多样的.对于一些函数很难找出其解析表达式.即使在某些情况下,可以写出函 数的解析表达式,但由于解析表 ...
- 【数值分析】拉格朗日插值法与牛顿插值法的C++实现
数值分析--拉格朗日插值法与牛顿插值法的C++实现 文章目录 数值分析--拉格朗日插值法与牛顿插值法的C++实现 一.插值法 1.1 插值法定义 1.2 插值多项式唯一性定理 二.拉格朗日(Lagra ...
- 【数学建模笔记】【第三讲】拉格朗日插值法,牛顿插值法,分段三次埃尔米特插值法及其MATLAB实践
温馨提示:本文共有3748字,阅读并理解全文大概需要15-20分钟 插值算法 一.插值法的定义 1.插值函数一共有三种: 2.多项式插值法原理 3.分段插值法原理: 4.具体如何求插值函数呢? (1) ...
- 数值计算(三)-插值法(2)牛顿插值法
拉格朗日插值法每当节点增加或者减少时,其对应的插值基函数都是需要重新构造,所以在实际计算时非常不方便,因此出现了一种新的插值法:Newton插值法. 均差 在学习Newton插值法之前时,先了解一个概 ...
- 拉格朗日插值的优缺点_拉格朗日与牛顿插值法的比较
第 1 页 共 7 页 拉格朗日插值法与牛顿插值法的比较 一. 背景 在工程和科学研究中出现的函数是多种多样的.常常会遇到这样的情况:在某个实际 问题中,虽然可以断定所考虑的函数 ) ( x f 在区 ...
- 2021-01-07 matlab数值分析 插值法 拉格朗日插值法 牛顿插值法
matlab数值分析 插值法 1 拉格朗日插值法 function yh=lagrange(x,y,xh) n=length(x); m=length(xh); yh=zeros(1,m); for ...
- 数值分析1_拉格朗日插值法牛顿插值法
实验名称 拉格朗日插值法以及牛顿插值法的实现 实验要求 实现拉格朗日插值 验证随着插值结点的增多插值曲线的变化情况 实现牛顿插值,显示差商结果 比较拉格朗日 ...
- 牛顿插值法与拉格朗日插值法——实例
参考自:知乎 马同学,他的微信公众号: 看图学数学,公众号:matongxue314 已知(x1,y1) (x2,y2) (x3,y3)三个点,分别求取两种插值公式 1.牛顿插值公式 过前两个点的函数 ...
最新文章
- CoreOS的Tectonic新发行版支持Kubernetes自我管理
- cover letter 和response letter的写法
- PC 上访问设备数据库的方法
- 无线网络共享到CM3计算板调试时 connect: Network is unreachable
- Qt:Qt实现飞秋拦截助手—介绍
- c 宏变量/宏函数/log
- linux下journalctl日志在哪,journalctl---系统日志
- 计算机桌面底部图标一直闪烁,win7系统桌面上的图标一直闪烁怎么办?图标一直闪烁的解决方法...
- Kubernetes等待部署完成 kubectl wait rollout
- 关于中文字体的设置说明(font:12px/1.5 tahoma,arial,\5b8b\4f53)
- 情人节用Python画玫瑰花
- 小学计算机编制考试笔记,分享教师编制考试,经验心得~~
- 两大「宇宙中心」之争:未来科技城如何一步步落后奥体?
- 数据集收集-包含《COVID-19》,《英国在线零售业务》,《电商行业用户行为分析数据集》,《电商婴儿用户》,《亚马逊手机》等17个数据集,用于数据分析挖掘,kaggle比赛练习
- Linux修改hosts
- ubuntu 环境变量
- java计算机毕业设计河东街摊位管理系统源码+mysql数据库+系统+LW文档+部署
- 串口---串口通信数据位长度对传输数据的影响
- 神经网络模型应用实例,神经网络模型数学建模
- 【博物纳新】Unity海洋场景构建