拉格朗日插值
时间:2022-05-08
本文章向大家介绍拉格朗日插值,主要内容包括拉格朗日插值、公式、代码、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
存在性和唯一性的证明以后再补。。。。
拉格朗日插值
拉格朗日插值,emmmm,名字挺高端的:joy:
它有什么应用呢?
我们在FFT中讲到过
设n-1次多项式为
y=sum_{i=0}^{n-1}a_i x^i
有一个显然的结论:如果给定n个互不相同的点(x,y),则该n-1次多项式被唯一确定
那么如果给定了这互不相同的n个点,
利用拉格朗日插值,可以在O(n)的时间内计算出某项的值,还可以在O(n^2)的时间复杂度内计算出给定的x所对应的y
那么如何计算呢?
公式
不啰嗦了,直接给公式吧,至于这个公式怎么来的以后再补充
若对于n-1次多项式,给定了n个互不相同的(x,y)
那么对于给定的x,第i项的值为
l(i)=y_iprod_{j=1,jneq i}^{n} dfrac{x-x_j}{x_i-x_j}
所对应的y为
y=sum_{i=1}^{n} l(i)
=sum_{i=1}^{n}y_iprod_{j=1,jneq i}^{n}dfrac{x-x_j}{x_i-x_j}
利用这个公式,就可以进行计算啦
代码
#include<cstdio>
int x[1001],y[1001];
int N,ans=0;
int main()
{
scanf("%d",&N);
for(int i=1;i<=N;i++)
scanf("%d%d",&x[i],&y[i]);
int X;//待求的x
scanf("%d",&X);
for(int i=1;i<=N;i++)
{
int tmp=y[i];
for(int j=1;j<=N;j++)
{
if(i==j) continue;
tmp=tmp*(X-x[j])/(x[i]-x[j]);
}
ans+=tmp;
}
printf("%d",ans);
return 0;
}
- 用 Python 实现一个大数据搜索引擎
- 关于 Java 你不知道的 10 件事
- 如何在一周之内获得GitHub stars 3500+ —为什么对于程序员这是如此的重要
- 程序员做完整性检查的命令行工具
- Spring MVC工作原理
- PHP 中被忽略的性能优化利器:生成器
- 精心收集的 48 个 JavaScript 代码片段,仅需 30 秒就可理解
- 从放弃迅雷到自己开发下载工具
- SSH 登录流程分析
- 从 0 到 1 优雅的实现PHP多进程管理
- 爬虫抓取的门道——来看这篇
- Java编程常见问题汇总(一)
- 关于 Java 你不知道的 10 件事
- PHP 实时生成并下载超大数据量的 EXCEL 文件
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- FTP文件管理项目(本地云)项目日报(七)
- FTP文件管理项目(本地云)项目日报(六)
- Transformers Assemble(PART I)
- FTP文件管理项目(本地云)项目日报(五)
- 几个Python“小伎俩”
- FTP文件管理项目(本地云)项目日报(四)
- BERT源码分析(PART I)
- FTP文件管理项目(本地云)项目日报(二)
- FTP文件管理项目(本地云)项目日报(一)
- 【奇技淫巧】-- 朋友圈(并查集)
- 【奇技淫巧】-- 岛屿的最大面积
- LeetCode精选好题(三)
- 【LeetCode两题选手】算法类题目(7.29)
- 【LeetCode两题选手】算法类题目(7.27)
- 【奇技淫巧】-- 走地图的不同路径