请帮我写一段 二次拉格朗日插值多项式的 python代码
时间: 2023-06-08 17:06:31 浏览: 103
拉格朗日插值法与python实现
5星 · 资源好评率100%
下面是二次拉格朗日插值多项式的Python代码:
```python
def lagrange_interpolation(x, y, z):
if len(x) != len(y):
raise ValueError('Arrays x and y must be of equal length')
n = len(x)
s = 0
for i in range(n):
t = 1
for j in range(n):
if j != i:
t *= (z - x[j]) / (x[i] - x[j])
s += y[i] * t
return s
```
其中,x和y分别为已知数据点的数组,z是要求插值的自变量。函数将返回对应于z的因变量的近似值。
例如,如果我输入以下代码:
```python
x = [0, 1, 2]
y = [1, 4, 5]
z = 1.5
print(lagrange_interpolation(x, y, z))
```
输出将是2.75,这是在x=1.5处的二次拉格朗日插值多项式近似值。
阅读全文