拉格朗日差值多项式python
时间: 2023-11-29 21:47:48 浏览: 76
拉格朗日差值多项式LAGRANGE
拉格朗日插值法是一种用于在一组数据点上进行插值的方法,它可以通过一个多项式来近似地表示这些数据点。下面是Python实现拉格朗日插值法的步骤和代码示例:
1. 导入必要的库
```python
import numpy as np
import matplotlib.pyplot as plt
```
2. 定义拉格朗日插值函数
```python
def lagrange_interpolation(x, y, x_new):
"""
:param x: 原始数据点的x坐标
:param y: 原始数据点的y坐标
:param x_new: 需要插值的x坐标
:return: 对应的插值结果
"""
n = len(x)
result = 0
for i in range(n):
p = 1
for j in range(n):
if j != i:
p *= (x_new - x[j]) / (x[i] - x[j])
result += y[i] * p
return result
```
3. 准备数据
```python
x = np.array([1, 2, 3, 4, 5])
y = np.array([0, 4, 2, 6, 8])
```
4. 进行插值
```python
x_new = np.linspace(1, 5, 100)
y_new = [lagrange_interpolation(x, y, i) for i in x_new]
```
5. 绘制图像
```python
plt.plot(x, y, 'o', x_new, y_new)
plt.show()
```
上述代码中,我们使用了numpy库中的linspace函数生成了一组新的x坐标,然后使用定义好的拉格朗日插值函数计算了对应的y坐标,最后使用matplotlib库绘制了原始数据点和插值结果的图像。
阅读全文