编写一个求Lagrange插值的函数
时间: 2024-10-15 11:21:11 浏览: 17
数值计算使用Lagrange插值的示例
Lagrange插值是一种数值分析技术,用于估计在一个数据点集中的某个特定位置的函数值。它通过构建一个多项式来逼近数据点,这个多项式的每个项都是由Lagrange基多项式确定的。以下是使用Python编写的一个简单的Lagrange插值函数示例:
```python
def lagrange_interpolate(points, x_val):
def basis(i, x):
numerator = 1
denominator = 1
for j in range(len(points)):
if i != j:
numerator *= (x - points[j][0]) / (points[i][0] - points[j][0])
denominator *= (points[i][0] - points[j][0])
return numerator
result = sum([basis(i, x_val) * points[i][1] for i in range(len(points))])
return result
# 示例:给定三个数据点 (x1, y1), (x2, y2), (x3, y3),计算x_val处的插值值
points = [(0, 1), (1, 4), (2, 9)]
x_val = 1.5
interpolated_value = lagrange_interpolate(points, x_val)
print(f"Interpolated value at {x_val} is: {interpolated_value}")
阅读全文