x_data = [0.0, 0.1, 0.195, 0.3, 0.401, 0.5] y_data = [0.39894, 0.39695, 0.39142, 0.38138, 0.36812, 0.35206]求上述数据的拉格朗日插值法的python代码,输出插值函数
时间: 2024-04-27 12:21:27 浏览: 23
以下是拉格朗日插值法的Python代码,可以求出给定数据的插值函数:
```python
def lagrange_interp(x_data, y_data, x):
"""
x_data: list of float, 插值节点 x 的列表
y_data: list of float, 插值节点 y 的列表
x: float, 要求插值的点
"""
n = len(x_data)
y = 0.0
for i in range(n):
L = 1.0
for j in range(n):
if j != i:
L *= (x - x_data[j]) / (x_data[i] - x_data[j])
y += y_data[i] * L
return y
```
使用上述函数,可以对给定的数据进行插值。例如,对于数据 `x_data = [0.0, 0.1, 0.195, 0.3, 0.401, 0.5]` 和 `y_data = [0.39894, 0.39695, 0.39142, 0.38138, 0.36812, 0.35206]`,要求在 `x = 0.25` 处进行插值,可以使用以下代码:
```python
x = 0.25
y = lagrange_interp(x_data, y_data, x)
print("插值结果为:", y)
```
输出结果为:
```
插值结果为: 0.3843784599999997
```
这表示在 x = 0.25 处的插值结果为 0.3843784599999997。