- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
y1 y2 ... yn
• 这个线性方程组的系数矩阵记为V,也被称为范德
尔蒙(Vandermonde)矩阵,该矩阵的各个元素
为
vk, j
xn j k
• 上述范德尔蒙矩阵的各列,有时也按相反的顺序 排列,但在MATLAB中,多项式系数向量,通常 按从高次幂到低次幂排列。
于n+1的多项式,使其图形经过这些点。
很容易看出,数据点的数目n+1也是多项式系数 的个数。尽管,一些首项的系数可能是零,但多项式 的次数实际上也小于n。同样,这个多项式,有多种 不同的公式表达,但它们都对应同一个直线图形。
这样的多项式称为插值多项式,它可以准确的 重新计算出初始给定的数据:
P(xk ) yk , k 1,..., n
(6)
(2)
(2)
(6)
• 一个多项式通常不用拉格朗日形式表示,它更 常见的写成类似
x3 2x 5
• 的形式。其中简单的x的次方项称为单项式, 而多项式的这种形式称为使用幂形式的多项式。
• 插值多项式使用幂形式表示为
P(x) c1xn1 c2xn2 ... cn1x cn
x xk xk 1 xk
• 的线性组合得到,其系数分别为yk和yk+1,即
L1(x) yklk (x) yk1lk1(x)
• 显然, lk(x)及lk+1(x)也是线性插值多项式, 在节点xk及xk+1上满足条件
lk (xk ) 1, lk (xk1) 0;
lk1(xk ) 0, lk1(xk1) 1
表示插值多项式的最紧凑的方式是拉格朗日形式
P(x)
k
(
jk
x xk
xj xj
)
yk
例如,考虑下面一组数据
x=0:3;
y=[-5 -6 -1 16];
输入命令
disp([x;y])
其输出为
0
1
2
3
-5 -6 -1 16
这些数据的拉格朗日形式的多项式插值为
P(x) (x 1)(x 2)(x 3) (5) x(x 2)(x 3) (6) x(x 1)(x 3) (1) x(x 1)(x 2) (16)
L1(x)
yk
yk1 yk xk1 xk
(x xk )
(点斜式)
L1(x)
xk1 x xk1 xk
yk
x xk xk1 xk
yk 1
(两点式)
• 由两点式可以看出,L1(x)是由两个线性函数
lk (x)
xk1 x xk1 xk
, lk1(x)
•wenku.baidu.com
x0<x1<…<xn
上满足条件
1,k
j;
lj (xk ) 0,k j. ( j,k 0,1,...,n)
(2)
• 就称这n+1个n次多项式l0(x), l1(x),…, ln(x)为节点 x0,x1,…,xn上的n次插值基函数。
• 用类似的推导方法,可得到n次插值基函数为
lk
• 我们称函数lk(x)与lk+1(x)为线性插值基函数。
• 这种用插值基函数表示的方法推广到一般情形,以 下讨论如何构造通过n+1个节点x0<x1<…<xn的n次 插值多项式Ln(x),假定它满足条件
Ln (xj ) yj ,( j 0,1,..., n)
(1)
• 若n次多项式lj(x)(j=0,1,…,n)在n+1个节点
• 其中的系数,原则上可以通过求解下面的线性代 数方程组得到。
x1n x2n
1 1
xn2 1
...
xn2 2
...
... ... ...
xnn1
xn2 n
...
x1 x2 ... xn
1 1 1 1
c1 c2 ... cn
• 3.1 插值多项式 • 3.2 分段线性插值 • 3.3 分段三次埃米特插值 • 3.4 保形分段三次插值 • 3.5 三次样条 • 3.6 pchiptx,splinetx • 3.7interpgui
3.1插值多项式
平面上的任意两点(x1,y1)和(x2,y2),只 要x1≠x2,就为以确定一个关于x的一次多项式, 其图形经过这两点。对于这个多项式,有多种 不同的公式表达,但它们都对应同一个直线图 形。
v=interp(x,y,u) 前两个参数,x和y,是长度相同的向量,它们定义了插值 点。第三个参数u,为要计算函数值的范围上的点组成的 向量。输出向量v和u长度相等, 其分量v(k)=interp(x,y,u(k))。 第一个这样的插值函数是polyinterp,它基于拉格朗日形式。
两个点时,假定给定区间[xk,xk+1]及端点函数值 yk=f(xk),yk+1=f(xk+1),要求线性插值多项式 L1(x),使它满足
L1(xk)=yk,L1(xk+1)=yk+1
y=L1(x)的几何意义就是通过两点(xk,yk)与
(xk+1 ,yk+1) 的直线, L1(x)的表达式可由几何意义 直接给出
(x)
(x x0 )...(x (xk x0 )...(xk
xk1)(x xk1)...(x xk 1)(xk xk 1)...(xk
xn ) xn )
(k 0,1,..., n)
• 显然它满足条件(1)式。于是满足条件(1)的插 值多项式Ln(x)可表示为
• MATLAB中的函数vander可生成范德尔蒙矩阵, 例如对于前面的那组数据,
V=vander(x)
生成
V=
0
0
0
1
1
1
1
1
8
4
2
1
27
9
3
1
然后,输入命令
c=V\y'
计算出插值系数
c=
1.0000
0.0000
-2.0000
-5.0000
能实现各种插值算法的MATLAB函数 它们都采用下面的调用格式
n
Ln (x) yklk (x) (3)
0
• 由lk(x)的定义知
n
Ln (x j ) yklk (x j ) y j
0
( j 0,1,..., n)
• 形如(3)式的插值多项式Ln(x)称为拉格朗日插 值多项式。
则对于平面上有着不同xk值的n+1个点,(xk, yk), k=0,1, …,n,存在唯一一个关于x的次数小