matlab插值法
和牛顿(Newton)插值为代表的多项式插值最有特点,常
用的插值还有Hermite插值,分段插值和样条插值。
插值法的定义
设 f(x)为[a,b]上的函数,在互异点x0 , x1, ... , xn 处的
函数值分别为 f(x0) , f (x1) , … , f (xn) ,构造一个简单函数 (x) 作为函数 f(x) 的近似表达式y= f(x) (x),使
二次插值的误差 定理 设L2(x)为二次Lagrange插值函数, 若 f (x) ∈C3[a,b] , 则任给x∈(a ,b),至少存在一点ζ=ζ(x) ∈(a,b),使
R 2 ( x ) f ( x ) L2 ( x ) f ( ) ( x x 0 )( x x1 )( x x 2 ) (1.5) 3!
(xi)=f(xi) , i=0, 1, 2, …,n
(1.0)
则称(x) 为关于节点x0 , x1, ... , xn的插值函数;称 x0 , x1, ... , xn 为插值节点;称(xi, f (xi)), i=1,2,… , n 为插值点;f(x)
称为被插值函数。
(1.0)式称为插值条件。这类问题称为插值问题。
提示:因为R2(x0)=R2(x1)=R2(x2)=0,可设
R2 ( x) k ( x)( x x0 )( x x1 )( x x2 ).
作辅助函数
(t ) f (t ) L2 (t ) k ( x)(t x0 )(t x1 )(t x2 ),
易知,x0, x1, x2, x为Ψ(t)的4个零点,在4个点两两组成的区
l1 ( x) ( x x0 )( x x2 ) ( x x0 )( x x1 ) , l 2 ( x) . ( x1 x0 )( x1 x2 ) ( x2 x0 )( x2 x1 )
2
二次Lagrange插值多项式为
i 0
容易验证满 足插值条件
L2 ( x) l0 ( x) f ( x0 ) l1 ( x) f ( x1 ) l 2 ( x) f ( x2 ) l i ( x) f ( xi ) (1.4)
间上,应用Rolle定理,然后再反复应用Rolle定理即得证。
例1.1 给定sin11°=0.190809,sin12°=0.207912,求线性插 值,并计算sin11°30'和sin10°30' 。
解 x0= 11°, x1= 12°, y0= 0.190809, y1= 0.207912,
L1 ( x) ( x 12) ( x 11) y0 y1 (12 x) y 0 ( x 11) y1. 11 12 12 11
对Ψ (t)求2阶导数得,
Ψ″ (t) = f″ (t) -2!k(x), 因为Ψ″ (ζ)=0,所以,有 k(x) = f″ (ζ) /2!。 证毕。
1.2.2 二次插值 给定3个互异插值点(xi, f (xi)), i = 0,1,2,确定一个二次插 值多项式函数,即抛物线插值(如图)。
待定系数法
代入插值点,即插值条件:Pn (xi) = f (xi), i = 0, 1,2, …, n , 得
2 n a0 a1 x0 a2 x0 a n x0 f ( x0 ) a0 a1 x1 a2 x12 an x1n f ( x1 ) (1.6) 2 n a a x a x a x 2 n n n f ( xn ) 0 1 n
构造出(x),对 f(x)在[a,b]上函数值的计算,就转化为(x)在对应点上的算。
1.2
Lagrange插值
选用代数多项式作为插值函数。Lagrange插值就是选用 节点上的函数值作为插值条件。 1.2.1 线性插值 给定两个点(x0,y0),(x1,y1), x0≠x1,确定一个一次多项式插值函数, 简称线性插值。
2!
( x x0 )( x x1 )
2
( x 11)( x 12).
x0 x1 11 12 x 11.5 2 2
例1.2 给定sin11°=0.190809,sin12°=0.207912, sin13°=0.224951,构造二次插值,并计算 sin11°30′。 解 x0= 11, x1= 12, x2= 13, y0= 0.190809, y1= 0.207912,y2= 0.224951,
sin11°30′≈L2(11.5) = 0.199369,
sin11°30′= 0.199368.
例1.3 要制作三角函数sin x的值表,已知表值有四位小数, 要求用线性插值引起的截断误差不超过表值的舍入误差,试 确定其最大允许的步长。 解 f(x)=sin x, 设xi-1, xi为任意两个插值节点,最大允许步长
或简单地记为
i j, 1, li ( x j ) ij i j. 0,
x x0 x x1 l 0 ( x) , l1 ( x) , x0 x1 x1 x0
对于过两个节点x0 , x1的线性插值(1.1)式,令
li ( x j ) ij , i, j 0,1. 显然, l0(x), l1(x) 满足: 线性插值函数可以写成节点上函数值的线性组合,即 L1(x) = l0(x) y0 + l1(x) y1 . 易知满足插值条件: 称l0(x), l1(x) 分别为x0, x1的插值基函数。 L1(xi) = yi , i=0,1
插值法
函数可以未知, 只需已知若干点 上的值。
插值法是函数逼近的重要方法之一,有着广泛的应
用。简单地说,插值法就是用给定的(未知)函数 f(x)的 若干点上的函数值(或其导数值) 来构造 f (x)的近似函数
(x),要求(x)与 f(x)在给定点的函数值相等。
有很多种插值法,其中以拉格朗日(Lagrange)插值
第1章
1.1 插值法
插值法
1.2
1.3
Lagrange插值
Newton插值
1.4
1.5 1.6
Hermite插值
分段线性插值 三次样条插值
1.7
程序示例
习题1
1.1
插值法
插值问题的背景
在生产和实验中,函数 f(x)或者其表达式不便 于计算, 或者无表达式而只有函数在给定点的函数 值(或其导数值) ,此时我们希望建立一个简单的而 便于计算的近似函数(x),来逼近函数 f(x)。 常用的函数逼近方法有: ► 插值法; ► 最小二乘法(或称均方逼近); ► 一致逼近等。
( x 12)( x 13) ( x 11)( x 13) L2 ( x) 0.190809 0.207912 (11 12)(11 13) (12 11)(12 13) ( x 11)( x 12) 0.224951 (13 12)(13 12)
插值基函数法 分别构造两个节点上的一次函数,使其在本节点上的 函数值为1,而在其他节点上的函数值为0。设l0(x), l1(x)分 别为满足上述条件的一次函数,即
l0 ( x0 ) 1, l1 ( x0 ) 0 l ( x ) 0, l (x ) 1 1 1 0 1
记为 h = hi = xi -xi-1,
f ( ) sin R1 ( x) ( x xi 1 )( x xi ) ( x xi 1 )( x xi ) 2! 2 xi 1 xi 1 1 xi 1 xi ( x xi 1 )( x xi ) ( xi 1 )( xi ) 2 2 2 2 1 h2 ( xi xi 1 )( xi 1 xi ) , 8 8 h2 1 10 4 , h 0.02. 8 2
1.2.3 n次Lagrange插值多项式 已知 n+1个互异插值节点 (xi, f(xi)), i=0, 1, 2, …, n , 研究n次 插值多项式的存在性及其表示形式。 ★ 存在性 设 n 次多项式为
Pn ( x) a0 a1x a2 x 2 an x n , (1.6)1
线性插值误差
定理 1 设L1(x)为一次Lagrange插值函数, 若 f (x) 一阶连续可 导,f "(x)在(a, b)上存在,则对任意给定的x∈(a ,b), 至少存在一点ζ∈(a,b),使得 f "( ) R1 ( x) f ( x) L1 ( x) ( x x 0 )( x x1 ) (1.3)
则Ψ (xi )=0, i =1,2, Ψ (x)=0, 即Ψ (t)有3个零点x0, x1, x。 假定, x0 < x < x1 , 分别在 [x0 , x] 和 [x ,x1]上应用洛尔 ( Rolle )定理,可知 , Ψ′(t) 在每个区间上至少存在一个零 点,ζ1,ζ2,使Ψ′(ζ1)=0,Ψ′(ζ2)=0(此即Ψ′(t)有2个零点)。 再利用洛尔定理知, Ψ′(t)在[ζ1,ζ2]上至少有一个零点 ζ, 使Ψ″ (ζ)=0。
设L2(x)=a0+a1x+a2x2, 代入3个 插值条件: L2(xi)= f(xi)), i = 0,1,2,解线形方程组可得a0, a1, a2。
插值基函数法 构造3个节点上2次插值基函数 l0(x), l1(x), l2(x), 使满足 li(xj)=δij , i, j = 0,1,2。 因为l0(x) 为2次插值基函数, 且l0(x1) = l0(x2) = 0, 所以可设 l0(x) = A (x - x1)(x - x2)。 由条件:l0(x0) = 1,得 ( x x1 )( x x2 ) 1 A , l 0 ( x) . ( x0 x1 )( x0 x2 ) ( x0 x1 )( x0 x2 ) 同理可得,