拉格朗日插值法python代码
时间: 2023-06-13 12:03:17 浏览: 115
拉格朗日插值Python代码
以下是拉格朗日插值法的 Python 代码实现:
```python
def lagrange_interpolation(x, y, x0):
"""
:param x: list, 拟合点的 x 坐标
:param y: list, 拟合点的 y 坐标
:param x0: float, 求解的 x 坐标
:return: float, 求解得到的 y 坐标
"""
n = len(x)
if n != len(y):
raise ValueError("x 和 y 的长度不一致")
s = 0
for i in range(n):
p = 1
for j in range(n):
if i != j:
p *= (x0 - x[j]) / (x[i] - x[j])
s += y[i] * p
return s
```
使用时,可以将需要拟合的点的 x 坐标和 y 坐标传入函数,以及需要求解的 x 坐标。例如:
```python
x = [0, 1, 2, 3]
y = [1, 2, 5, 10]
x0 = 1.5
result = lagrange_interpolation(x, y, x0)
print(result) # 输出 3.5
```
这段代码的输出结果是 3.5,即在 x=1.5 时,拉格朗日插值法拟合出的 y 坐标为 3.5。
阅读全文