用python得到一个拉格朗日插值多项式函数
时间: 2023-10-19 15:02:56 浏览: 94
拉格朗日插值是一种用于确定通过一系列给定点的插值多项式的方法。Python提供了强大的数值计算库numpy,可以方便地实现拉格朗日插值。
下面是使用Python实现拉格朗日插值多项式函数的示例代码:
```python
import numpy as np
def lagrange_interp(x, y):
"""根据给定的节点和对应的函数值,返回拉格朗日插值多项式函数"""
n = len(x)
def f(xi):
result = 0.0
for i in range(n):
# 计算拉格朗日基函数的乘积
basis = 1.0
for j in range(n):
if j != i:
basis *= (xi - x[j]) / (x[i] - x[j])
result += basis * y[i]
return result
return f
# 测试示例
x = np.array([1.0, 2.0, 3.0, 4.0, 5.0])
y = np.array([2.0, 3.0, 5.0, 7.0, 11.0])
f = lagrange_interp(x, y)
# 输出插值多项式f在x=3.5处的值
print(f(3.5))
```
在这个示例中,我们先定义了一个`lagrange_interp`函数,输入参数为节点的x坐标和对应的函数值y坐标,返回一个拉格朗日插值多项式函数。然后我们使用了示例数据来生成一个插值多项式函数`f`。
最后,我们通过调用生成的插值多项式函数`f`来计算x=3.5处的函数值,并将结果打印出来。
阅读全文