拉格朗日差值法python实现
Lagrange插值法:Lagrange插值法:Lagrange插值法:给定一组点(x1,y1),(x2,y2)...(xn,yn)给定一组点 (x_{1},y_{1}),(x_{2},y_{2})...(x_{n},y_{n})给定一组点(x1,y1),(x2,y2)...(xn,yn)n次拉格朗日插值基函数Pi(x)=∏j=1,j≠inx−xjxi−xjn次拉格朗日插值基函数 \ \ P_{i}(x)=\prod_{j=1,j\neq i}^{n}\frac{x-x_{j}}{x_{i}-x{j}}n次拉格朗日插值基函数 Pi(x)=j=1,j=i∏nxi−xjx−xj拉格朗日插值多项式Ln(x)=∑i=1nyiPi拉格朗日插值多项式\ \ L_{n}(x)=\sum_{i=1}^{n}y_{i}P_{i}拉格朗日插值多项式 Ln(x)=i=1∑nyiPi
举个例子:假如我们只有三个点, 那么
L2(x)=(x−x1)(x−x2)(x0−x1)(x0−x2)y0+(x−x0)(x−x2)(x1−x0)(x1−x2)y1+(x−x0)(x−x1)(x2−x0)(x2−x1)y2L_{2}(x)=\frac{(x-x_{1})(x-x_{2})}{(x_{0}-x_{1})(x_{0}-x_{2})}y_{0}+\frac{(x-x_{0})(x-x_{2})}{(x_{1}-x_{0})(x_{1}-x_{2})}y_{1}+\frac{(x-x_{0})(x-x_{1})}{(x_{2}-x_{0})(x_{2}-x_{1})}y_{2}L2(x)=(x0−x1)(x0−x2)(x−x1)(x−x2)y0+(x1−x0)(x1−x2)(x−x0)(x−x2)y1+(x2−x0)(x2−x1)(x−x0)(x−x1)y2
python 实现
方法一:
from scipy.interpolate import lagrange
x = [1,3,5]
y = [2,10,1]
print(lagrange(x, y)) #拟合曲线
print(lagrange(x, y)(10)) #估值
结果:
2
-2.125 x + 12.5 x - 8.375
-95.875
方法二:
x = [1, 3, 5]
y = [2, 10, 1]
def lagrange_Interpolation(x1):P = []L_n = 0for i in range(len(x)):numerator=1 #分子初始化denominator=1 #分母初始化for j in range(len(x)):if j!=i:numerator*=(x1-x[j])denominator*=(x[i]-x[j])P.append(numerator/denominator)for i in range(len(y)):L_n+=y[i]*P[i]return round(L_n,3) #保留3位小数
print(lagrange_Interpolation(10))
结果:
-95.875
看拟合曲线图像:
import numpy
import matplotlib
from matplotlib import pyplot
x2=numpy.linspace(-10,10,20,endpoint=False) #从-10到10 20个点去拟合曲线
print(x2)
y2=[]
for i in range(len(x2)):y2.append(lagrange_Interpolation(x2[i]))
print(y2)pyplot.plot(x2,y2)
pyplot.scatter(x,y, marker=".")
pyplot.show()
结果:
拉格朗日差值法python实现相关推荐
- 拉格朗日差值法----算法学习
一.定义: 对某个多项式函数,已知有给定的k + 1个取值点: 其中对应着自变量的位置,而对应着函数在这个位置的取值. 假设任意两个不同的xj都互不相同,那么应用拉格朗日插值公式所得到的拉格朗日插值多 ...
- python输入两个数求差_python差值_python差值法_python求差值 - 云+社区 - 腾讯云
广告关闭 回望2020,你在技术之路上,有什么收获和成长么?对于未来,你有什么期待么?云+社区年度征文,各种定制好礼等你! 环境依赖api 网关提供 python 2.7 和 python 3 两个版 ...
- python二分法求最值_数值分析之二分法、试值法 python
@ 数值分析之非线性方程求解 文章目录 二分法.试值法的本质 (1) 二分法求利率 题目 输入输出格式 举例 输入: 输出: 思路和要点 代码 结果 (2)试值法法求利率 题目 输入输出格式 举例 输 ...
- P4593-[TJOI2018]教科书般的亵渎【拉格朗日差值】
正题 题目链接:https://www.luogu.com.cn/problem/P4593 题目大意 场上有若干只怪,最高的为nnn,每个怪血量不同,有mmm个血量不存在. 不停释放亵渎(全场打一, ...
- 包含 min 函数的栈(辅助栈,保存差值,Python)
定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min.push 及 pop 的时间复杂度都是 O(1). 方法1:辅助栈 栈先进后出的性质的理解: 如果一个 ...
- P5437-[XR-2]约定【拉格朗日差值,数学期望】
正题 题目链接:https://www.luogu.com.cn/problem/P5437 题目大意 nnn个点的完全图,连接i,ji,ji,j的边权值为(i+j)k(i+j)^k(i+j)k.随机 ...
- [51nod]1229 序列求和 V2(数学+拉格朗日差值)
题面 传送门 题解 这种颓柿子的题我可能死活做不出来-- 首先\(r=0\)--算了不说了,\(r=1\)就是个裸的自然数幂次和直接爱怎么搞怎么搞了,所以以下都假设\(r>1\) 设 \[s_p ...
- 拉格朗日差值 - 杜教板子
牛客网暑期ACM多校训练营(第一场) F Sum of Maximum 杜教板子: 证明https://blog.csdn.net/Lee_w_j__/article/details/81135539 ...
- python表示差值_python差值函数
python可否用自定义函数对数据进行插值 除了interp函数自带的插值方式,可否用一个自定义的函数表达式对interp直接定义a=True/False就行,示例代码: #定义布尔值类型参数a,b, ...
最新文章
- R语言ggplot2可视化散点图、可视化两个数值变量之间的关系、使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线、自定义数据点的大小、色彩、添加主标题、副标题、题注信息
- 爱了爱了!0.052 秒打开 100GB 数据,这个Python开源库火爆了!
- CALayer 一些简单的小例子
- 夺命雷公狗---无限级分类NO3
- python安装以及版本检测
- anaconda中安装xgboost_在windows64位Anaconda3环境下安装XGBoost
- Mysql学习总结(36)——Mysql查询优化
- python装饰器带参数函数_python带参数装饰器的两种写法
- (转)思科VPP源码分析(dpdk node分析)
- 【2019杭电多校第一场1004=HDU6581】Vacation(思维+避免超时)
- 如何通过GoLand进行Debug
- vncserver 设置过万的分辨率_修改vnc远程桌面分辨率,2种修改vnc远程桌面分辨率的方法...
- 使用java生成折线图_Java折线图简单绘制
- beego框架:static目录下的apk文件浏览器下载使用正常,手机浏览器下载无法解析安装
- 单链表的创建(头插法尾插法),插入,删除
- easypoi一对多导入_easypoi导入Excel最佳实践
- 一、Java面试基础之面向对象的特征:继承、封装和多态(原创实例)
- Windows 系统磁盘克隆
- Kubernetes之kubectl常用命令使用指南:3:故障对应
- 非线性方程(组)的求解