Lagrange插值公式:

P(x)=∑k=0nLn,k(x)f(xk)P(x) = \sum_{k=0}^{n}L_{n,k}(x) f(x_{k})P(x)=∑k=0n​Ln,k​(x)f(xk​)

Ln,k(x)=∏i=0,i≠knx−xixk−xiL_{n,k}(x) = \prod_{i=0,i\neq k}^{n}\frac{x-x_{i}}{x_{k}-x_{i}}Ln,k​(x)=∏i=0,i̸​=kn​xk​−xi​x−xi​​ ,k = 0,1,2,…,n
=(x−x0)(x−x1)...(x−xk−1)(x−xk+1)...(x−xn)(xk−x0)(xk−x1)...(xk−xk−1)(xk−xk+1)...(xk−xn)\qquad = \frac{(x-x_{0})(x-x_{1})...(x-x_{k-1})(x-x_{k+1})...(x-x_{n})}{(x_{k}-x_{0})(x_{k}-x_{1})...(x_{k}-x_{k-1})(x_{k}-x_{k+1})...(x_{k}-x_{n})}=(xk​−x0​)(xk​−x1​)...(xk​−xk−1​)(xk​−xk+1​)...(xk​−xn​)(x−x0​)(x−x1​)...(x−xk−1​)(x−xk+1​)...(x−xn​)​

Lagrange插值法的算法已知条件:

(1)(x0,f(x0)),(x1,f(x1)),...,(xn,f(xn)).(x_{0},f(x_{0})),(x_{1},f(x_{1})),...,(x_{n},f(x_{n})).(x0​,f(x0​)),(x1​,f(x1​)),...,(xn​,f(xn​)).
(2)n
(3)所要进行内插的点xax_{a}xa​.
(4)Lagrange插值法的公式。

C语言简单实现如下:

#include<cstdio>
#include<iostream>using namespace std;double x[30];//x值
double f[30];//对应的y值
double xa;//待求的y值所给出的x值
double l;//l(k)的值
double ans;//结果int main()
{int n;while(cin>>n&&n){cin>>xa;for(int i=0;i<=n;i++)cin>>x[i]>>f[i];ans=0.0;for(int k=0;k<=n;k++){l=1.0;for(int i=0;i<=n;i++)//计算l(k){if(k!=i)l=l*(xa-x[i])/(x[k]-x[i]);}ans=ans+l*f[k];}printf("The value of P(%.4lf)=%.4lf\n\n",xa,ans);}return 0;
}
/*
三组测试用例:
3
1.5
1.0  0.0
2.0  0.693
3.0  1.099
4.0  1.3863
1.5
1.0  0.000
1.2  0.182
1.4  0.336
2.0  0.6939
1.5
1.0  0.000
1.2  0.182
1.7  0.531
2.0  0.693
2.2  0.788
2.7  0.993
3.0  1.099
3.2  1.163
3.7  1.308
4.0  1.386*/

Lagrange插值法相关推荐

  1. Lagrange插值法与Newton插值法

    Lagrange插值法   考虑有nnn个不同的点 (x1,y1),(x2,y2),(xi,yi)-(xn,yn){(x_1,y_1),(x_2,y_2),(x_i,y_i)\dots (x_n,y_ ...

  2. 拉格朗日插值法(Lagrange插值法)

    插值介绍: 在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点. 插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值. 这是百度百 ...

  3. Java实现lagrange 插值法

    一.题目:已知 1.请用两点 Lagrange插值 编程实现 ,用余项公式求误差: 1.1)程序源代码 public class Chazhi {public static void main(Str ...

  4. 线性插值、抛物插值、Lagrange插值 | Lagrange拉格朗日插值法(一)

    Lagrange(拉格朗日)插值法 Lagrange插值法是一种多项式插值方法. 1. 线性插值(两点插值或一次插值) 线性插值就是通过两个采样点 ( x 0 , y 0 ) (x_0,y_0) (x ...

  5. MATLAB——数值插值之拉格朗日(Lagrange)插值法

    由于MATLAB中没有现成的拉格朗日插值命令,因此我们可以根据Lagrange插值法的定义编写一个Lagrange插值命令. 定义: 给定n个插值节点x1,x2,...,xn和各个节点对应的函数值y1 ...

  6. Python03 拉格朗日插值法 牛顿插值法(附代码)

    1.实验结果 (1)在定义的类中设置已知的函数值列表为: (2)在 test.py 中选择 Lagrange 插值法求解: 输入:需求的 y 值对应的 x 值: 输出:所求函数值: (3)选择 New ...

  7. 数学建模学习笔记(一):插值法

    文章目录 前言 一.一维插值问题的描述 二.常用插值方法 1.Lagrange插值法 2.Newton插值法 三.高次插值的Runge现象 四.Matlab插值 1.一维插值 2.二维插值 3.散乱点 ...

  8. 牛顿(Newton)插值法的Matlab实现

    牛顿(Newton)插值法的Matlab实现 算法 程序 运行 对已知点计算 手算例题 本篇为Newton插值法,构造插值多项式 拉格朗日(Lagrange)插值法链接如下: 链接: Lagrange ...

  9. 【数值分析/计算方法】插值法及其余项MATLAB仿真实验

    1.Lagrange插值法 方法:对给定的n个插值节点x1,x2,⋯,xn以及它们对应的函数值y1,y2,⋯,yn,利用构造的n-1次Lagrange插值多项式,可以通过下面式子求得插值区间内任意x的 ...

最新文章

  1. Winform控件缩写
  2. 几款高频环形磁芯的性能对比
  3. Fedora 31 将被“砍掉”或推迟更久发布,但和 IBM 无关
  4. 论文返修(response letter)最有用的开场白
  5. 日期函数:取过去或者将来多少天的日期
  6. signature=486e34400687432217e65e837b8e6753,PXE常见错误代码表
  7. [html] 你认为写出什么样的html代码才是好代码呢?
  8. 前端代码部署后通过html访问,将前端项目部署到nginx上
  9. MAC地址厂商信息查询
  10. 软件测试技术——安全性测试
  11. 微信小程序体验版(测试环境)和线上版(生产环境)发布
  12. 网页版OneDriver登录,解决OneNote同步不准确问题(需上网)
  13. 技术开放平台,推进开放银行布局
  14. Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering 论文阅读
  15. java变位词_Java程序检查字符串是否是变位词
  16. strcmp( )函数
  17. ARM 汇编的操作 设置CPU寄存器BASEPRI
  18. Html中圆圈怎么画,css怎么画圆?
  19. Bugku CTF 杂项(21-29) Writeup
  20. a session ended very soon after starting. check that the command in profile default is correct

热门文章

  1. 树莓派4B系统一键安装opencv,再也不要用编译安装啦!(支持buster、bullseye)
  2. 【闲来无事】仿知乎广告Banner的切换功能,androidstudio实训总结
  3. 简单带验证码的登陆网站破解
  4. ThumbnailUtils.extractThumbnail Android图片缩略图显示总结及比较
  5. flask身份验证_Flask基于令牌的身份验证
  6. sencha touch的pinch zoom控件
  7. Win10神州网信政府版电脑的麦克风及照相功能被组织关闭没有权限打开怎么办呢?(解决电脑麦克风问题)
  8. 蚂蚁系统案例2【无标题】
  9. OpenCV—python 显着性检测二
  10. Python就业怎么样