c++实现拉格朗日插值图
时间: 2023-10-06 18:13:15 浏览: 101
以下是用Python实现拉格朗日插值图的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义拉格朗日插值函数
def lagrange_interpolation(x, y, x_new):
n = len(x)
y_new = np.zeros(len(x_new))
for i in range(len(x_new)):
for j in range(n):
p = 1
for k in range(n):
if k != j:
p *= (x_new[i] - x[k]) / (x[j] - x[k])
y_new[i] += y[j] * p
return y_new
# 定义原始数据
x = np.array([1, 2, 4, 5])
y = np.array([3, 5, 2, 7])
# 定义插值用的新数据
x_new = np.linspace(1, 5, 100)
# 计算插值结果
y_new = lagrange_interpolation(x, y, x_new)
# 绘制原始数据和插值结果的图像
plt.plot(x, y, 'o', label='original data')
plt.plot(x_new, y_new, label='interpolation')
plt.legend()
plt.show()
```
该代码会生成一个包含原始数据和插值结果的图像,并在图例中标注。可以根据自己的需要修改原始数据和插值用的新数据。
阅读全文