第五章 常用插值算法
§5.1 线性插值算法
线性插值是代数插值的最简
单形式。假设变量
和自变量
y
x
,XG2ÏVÒ 5- 1 中曲线
所示。已知 在点
和 的对应值 和 ;现在要
求用一线性插值函数
,近似代替 。
根据插值条件,应满足:
)(xfy =
y
1 1
1
a
0
x
x
0
y y
baxxg +=)( )(xf
00
ybax =+
1
ybax =+
解该方程组,便可确定线性插值函数
的参数 和 。由图可知,线性插值的几何意义
是用通过点
和点 的直线近似地代替曲线
)(xg b
),(
00
yxA ),(
11
yxB )(xfy = 。我们很容易求得该
直线表达式:
)()(
0
01
01
0
xx
xx
yy
yxg −
−
−
+= (点斜式)
或:
)()()(
10
0
1
01
1
0
xx
xx
y
xx
xx
yxg
−
−
+
−
−
= (两点式)
由图 5- 1 也可以看出,插值节点
和 之间的间距越小,那么在这一区间 与
之间的误差就越小。若插值点
0
x
1
x )(xg )(xf
x ü 和 之间,称为内插,否则称为外插或外推。在这里,
我们只考虑内插。在进行插值运算前,还要考虑下面两个具体问题:
0
x
1
x
插值节点的选取:在单片机的应用中,往往把常用的函数以表格的形式固化在程序
存储器中。例如某物理量的温度补偿值是非线性的,表格中的值是在若干个温度点
实测得到的补偿值;又比如等间距角度的正弦函数值组成的表格等等。对于任一给
定的插值点
ÈùEîE›1T),XE¤1k.BnÔE¥,Xøþ¦&• 和 以及在表中对
应的函数值
和 ,然后就可以进行插值运算,求得插值点
0
x x
0
y
1
y Íh,X 值。
x
1
x
y
图 5- 1 用直线拟合求准确峰位示意图
f(x)
Y
B g(x)
y
1
y
A
y
0
X
x
0
x x
1
0