拉格朗日插值 python实现
让我们逐步解析和详细解释这段代码。1. 导入必要的库import numpy as np
from scipy.interpolate import lagrange
import matplotlib.pyplot as plt1.numpy: 一个强大的数学库,用于处理数组和矩阵等高级数学运算。
2.scipy.interpolate.lagrange: 从 SciPy 库中导入的,用于执行拉格朗日多项式插值的函数。
3.matplotlib.pyplot: 用于数据可视化的库,可以绘制图表和图形。
2. 源数据x = np.array()
y = np.array()这里定义了两个数组 x 和 y,代表了三个数据点的坐标:(4, 10), (5, 5.25), 和 (6, 1)。这些数据点将用于拉格朗日插值。
3. 拉格朗日插值poly = lagrange(x, y)
res = poly(18)4.使用 lagrange(x, y) 创建一个拉格朗日插值多项式 poly。这个多项式是基于给定的数据点 x 和 y 计算出来的,它能够逼近这些点构成的曲线。
5.poly(18) 计算了在 x = 18 时的插值结果 res。这是通过将 x = 18 代入到拉格朗日多项式中得到的。
4. 打印多项式和插值结果print('poly =\n', poly)
print('res =', res)这里打印了插值多项式 poly 和在 x = 18 处的插值结果 res。
5. 数据可视化x1 =
y1 = []
for each in x1:
y1.append(poly(each))
plt.plot(x1, y1)
plt.scatter(x, y)
plt.scatter(18, res)6.首先,创建了一个 x 值列表 x1,范围是从 -5 到 19。然后,对于 x1 中的每个 x 值,都计算对应的拉格朗日插值多项式的 y 值,并将这些 y 值存储在列表 y1 中。
7.使用 plt.plot(x1, y1) 绘制插值多项式形成的曲线。
8.使用 plt.scatter(x, y) 在图上标记原始数据点。
9.使用 plt.scatter(18, res) 在图上标记 x = 18 处的插值结果点。
这样,你就得到了一幅图形,显示了原始数据点、插值曲线,以及在 x = 18 处的插值点。这个过程展示了如何使用拉格朗日插值方法根据一组给定的数据点来估计函数在特定点上的值,并将结果可视化。
页:
[1]