插值是数值分析和工程中用于估计已知数据点之间的值的常用技术。它是一个强大的工具,可用于根据有限的数据量创建平滑的曲线和曲面。然而,多项式插值等传统插值方法在处理大型数据集或尝试逼近高度复杂的函数时可能会出现高错误率。Chebyshev 网格通过提供更准确和有效的数据插值方法来解决此问题。在这篇文章中,我们将解释等距网格的问题、切比雪夫网格背后的思想,并向您展示如何在 Python 中实现它们。我们还将演示如何使用 Chebyshev 网格对示例数据集进行插值并将结果与传统插值方法进行比较。
等距网格的问题
假设您有一个在等距网格上给出的函数,并且您想要使用多项式找到插值函数。使用拉格朗日方法很容易解决这个问题。
但有一个问题。确实,问题很严重。让我们看一个例子。让我们想象一下我们正在对函数进行采样
在域 x∈[−1,1] 上使用 N=15 点的等距网格:
import numpy as np
N = 15
def f(x):
return np.exp(-(5*x)**2) + x
x = np.linspace(-1, 1, N)
xx = np.linspace(-1, 1, 500)
f_eq = f(x)
plt.plot(x, f_eq, 'o')
plt.plot(xx, f(xx), label='f(x)')
plt.xlabel('$x$')
p