X i 很普遍。在很多情况下,用于插值的数据点仅以这种形式存在,例如当数据由相同时间间隔分布的一起读取的数据所组成时。在其他情况下,我们可以在认为合适的地方自由选择基点。事实证明,基点间距选取的方式对于插值误差有很大的影响,切比雪夫插值是一种特定最优的点间距选取方式。

切比雪夫理论

切比雪夫插值的动机是在插值区间上,提高对如下插值误差(如:牛顿差商公式)的最大值的控制
\frac{\text{(}x-x_1\text{)}\left( x-x_2 \right)···\text{ (}x-x_n\text{) }}{n!}f^{\left(n\right)}\left(c\right) n ! ( x x 1 ) ( x x 2 ) ( x x n ) f ( n ) ( c )
从现在开始,让我们把区间固定在[-1,1]。

多项式插值误差的分子
x n 使得(1.1)的最大值足够小?这被称为插值误差的最小最大问题。

多项式结点均匀分布时,其端点可能取值趋向极大,这是龙格现象的一个表现。而切比雪夫结点会在区间上一定程度地补偿多项式的大小。

在[-1,1]之间,当选择放置9个基点的精确位置是 \underset{-1\le x\le 1}{\max}\left| \left(x -x_1 \right)···\left( x - x_n \right) \right| 1 x 1 max ( x x 1 ) ( x x n )
尽可能小,则
\text{(}x-x_1\text{)}\left( x-x_2 \right)···\text{ (}x-x_n\text{) }\ = \frac{1}{2^{n-1}} Tn(x) ( x x 1 ) ( x x 2 ) ( x x n ) = 2 n 1 1 T n ( x )
可以得到极小值,其中Tn(x)表示n 阶切比雪夫多项式。

从定理中我们得到结论:如果区间[-1,1]中的n个插值基点选在n阶切比雪夫多项式Tn(x)根的位置,误差可以被最小化。这些根如下
2 ( n 1 )

选择切比雪夫的根作为插值的基点,在区间[-1,1]中尽可能均匀地分散了插值误差,我们将使用切比雪夫根作为基点的插值多项式叫做切比雪夫插值多项式。

切比雪夫多项式

定义n阶切比雪夫多项式Tn(x)= cos(n arccosx)。不考虑该函数的外观,它对于每个n都是关于x的多项式。例如,当 n = 0时,对应 0 阶多项式1,当 n=1 时我们得到 T1(x) = cos(arccosx) = x 。当n = 2时,回忆余弦求和公式cos(a+b) = cosacosb - sinasinb。令y = arccosx,因而 cosy = x 。则 T2(x)= T_{n+1}\left(x\right)\ =\ \cos\left(n+1\right)y \ = \ \ cos\left(ny+y \right)\ =\ \cos ny\cos y-\sin ny\sin y T n + 1 ( x ) = cos ( n + 1 ) y = c o s ( n y + y ) = cos n y cos y sin n y sin y
T_{n-1}\left(x\right)\ =\ \cos\left(n-1\right)y \ = \ \ cos\left(ny-y \right)\ =\ \cos ny\cos y-\sin ny\sin -y T n 1 ( x ) = cos ( n 1 ) y = c o s ( n y y ) = cos n y cos y sin n y sin y
由于sin(-y) = -siny,我们把前面的方程加起来得到
T_{n+1}\left(x \right) \ +T_{n-1}\left(x \right)\ = 2\cos ny\cos y\ =\ 2xT_n\left( x\right) T n + 1 ( x ) + T n 1 ( x ) = 2 cos n y cos y = 2 x T n ( x )
得到的关系如下:
x i 是切比雪夫节点。

区间的变化

到目前,关于切比雪夫插值的讨论局限于区间[-1,1],这是由于定理1.2在这个区间内非常容易说明。现在我们将方法推广到一般的区间[a,b]。

移动基点使得它们在区间[a,b]上的相对位置和在区间[-1,1]上一致。这可以通过如下两步实现:(1)使用因子(b-a)/2拉伸点(这是两个区间长度的比值),(2)将点平移(b+a)/2,使得中心从0移动到区间[a,b]的中心。换句话讲,从原始点
x k = 5 c o s ( 2 2 ( 2 k + 1 ) Π ) ( k = 1 0 , 9 , 8 , )

其点横坐标分别为 :

-4.9491,-4.5482,-3.7787,-2.7032,-1.4087,0,1.4087,2.7032,3.7787,4.5482,4.9491

取部分点对比如下:
在这里插入图片描述
由表格中计算的测试点与原函数值对比,明显切比雪夫节点是更优的取点方式 。

取等距点拟合的曲线如图:
在这里插入图片描述

取切比雪夫节点拟合的曲线如图:
在这里插入图片描述

#include<iostream>
using namespace std;
double n,x[100],y[100],l[100] ;
void input()
	for(int i=0;i<n;i++) 
		cin>>x[i]>>y[i]; 
double cau(double test)
	double re = 0;
	for(int i=0;i<n;i++)
		for(int j=0;j<n;j++)
			if(j!=i)
				l[i] = l[i] * (test-x[j])/(x[i]-x[j]);
		re += l[i]*y[i];
	return re;
int main()
	cout<<"输入多少个点"<<endl;
	cin>>n;
	cout<<"输入插值点:"<<endl;
	input();
	double test; 
	cin>>test; 
	for(int i=0;i<100;i++) l[i]=1;
	double re = cau(test);
	cout<<"result: "<<re <<endl; 
	return 0;
等距节点:
切比雪夫节点:

总的来说,切比雪夫插值是一种特定最优的点间距选取方式,它和拉格朗日插值、牛顿差商公式相比,更能有效地避免龙格现象地出现,而且,能够更好地贴合原函数,也就是说,它的结果预测相对会更准确。

参考文献
Timothy Sauer. { Numercial Analysis}. 2014.

然后,使用Eigen库计算比雪夫节点和系数,并计算近似函数值,输出结果。可以看到,该代码实现了在[0, 1]区间内,构造一个5次比雪夫多项式近似函数的功能。在数值计算领域中,针对某些函数,在一定区间内构造出一个连续的函数来近似表示原函数,这就是插值或近似函数问题。总的来说,使用Eigen库可以方便、高效地实现比雪夫插值或近似函数的构造,并且可扩展性强,适用于复杂的计算问题。在C++编程中,可以使用Eigen库进行矩阵运算和解方程组,方便、高效地实现比雪夫插值或近似函数的构造。 数值计算之 插值法(4)比雪夫零点插值前言插值点选取第一类比雪夫多项式拉格朗日插值多项式的余项比雪夫零点插值后记 上篇插值法讨论了多项式插值的解,以及龙格现象。本篇将介绍一种在抽取节点时有效降低龙格现象的方法——比雪夫零点插值插值点选取 插值多项式阶数较高时,在取值空间均匀取点,容易出现龙格现象。 即区间边缘的插值结果与原函数差异很大,而区间中央的插值结果相对较好。这表明,高阶多项式插值对区间中央的节点拟合好,而对两端节点拟合效果差。 自然而然会想到,在两端多采样一些节点,在中间少采样一 在区间[-1, 1]上求出f(x)的10次Lagrange插值多项式L10(x)L_{10}(x)L10​(x),并且绘制图像; 在区间[-1, 1]上求出f(x)的10次一致逼近插值多项式P10(x)P_{10}(x)P10​(x),并且绘制图像; 将区间[... 求解N阶比雪夫插值多项式时其过程为: (1) 利用输入函数的静态工作点I1Q和变化范围(m , n)求出N+1个比雪夫插值点; (2) 测量N+1个对应插值点的输出值; (3) 利用2(N+1)个数据,计算出比雪夫插值多项式的6个系数; (4)将系数代入比雪夫多项式,在得到输出的表达式中代入含I1的归一化公式,即可得到IB=f(I1),求I1的反函数转换自变量为t代入,即得到表达式IB=g(t) 插值是数值分析和工程中用于估计已知数据点之间的值的常用技术。它是一个强大的工具,可用于根据有限的数据量创建平滑的曲线和曲面。然而,多项式插值等传统插值方法在处理大型数据集或尝试逼近高度复杂的函数时可能会出现高错误率。Chebyshev 网格通过提供更准确和有效的数据插值方法来解决此问题。在这篇文章中,我们将解释等距网格的问题、比雪夫网格背后的思想,并向您展示如何在 Python 中实现它们。我们还将演示如何使用 Chebyshev 网格对示例数据集进行插值并将结果与​​传统插值方法进行比较。 转自:http://blog..net/htttw/article/details/7251459Matlab之插值Matlab中有5种基本的插值方法:nearest:最近邻插值法(平面立体均适用)linear:线性插值法(interp1默认的插值方法)(平面立体均适用)spline:三次样条插值法(平面立体均适用)pchip:分段三次厄米多项式插值法(只适用于平面)cubic:三次多项式插值法(... 比雪夫多项式是以递归方式定义的一系列正交多项式序列。 通常,第一类比雪夫多项式以符号Tn表示, 第二类比雪夫多项式用Un表示。比雪夫多项式 Tn 或 Un 代表 n 阶多项式。   比雪夫多项式在逼近理论中有重要的应用。这是因为第一类比雪夫多项式的根可以用于多项式插值中。相应的插值多项式能最大限度地降低龙格现象,并且提供多项式在连续函数的最佳一致逼近。   以上都是一些比雪夫多项 科学语言与matlab计算 实验2、3 一、实验要求二、 实验内容与步骤实验2-1 读取txt影像轨道参数实验2-2读取原始文件轨道参数实验3-1插值 存储 画图1插值2 存储3 画图实验3-2 基线长度并存储 画图1 画图2基线长度并存储三、 代码代码结构图1 term6_matlab_sy2_01.m2 term6_matlab_sy2_02.m3 term6_matlab_sy3_01.m4 term6_matlab_sy3_02.m5 term6_matlab_sy3_03.m6 savegif.m 1、对g(x)在100个比雪夫节点之上分別使用Polynomial(Polynomial.fit)和Chebyshev(Chebyshev.fit)进行插值,在[-1,1]区间上取1000个等距点对误差进行比较。g(x)= sin(x**2) + sin(x)**2, 其中x=(x - 1) * 5。代码实现:import numpy as npfrom numpy.polynomial i...