线性插值法


 



线性插值法(linear interpolation)






什么是线性插值法



  线性插值法是指使用连接两个已知量的直线来确定在这两个已知量之间的一个未知量的值的方法。



 



如何进行线性插值



(x0,y0)与(x1,y1),要得到[x0,x1]区间内某一位置x在直线上的值。根据图中所示,我们得到两点式直线方程:

  

java一次线性插值 线性插值编程_插值

java一次线性插值 线性插值编程_插值_02

x0到x的距离与从x0x1距离的比值。由于x值已知,所以可以从公式得到α的值

  

java一次线性插值 线性插值编程_java一次线性插值_03

  同样,

  

java一次线性插值 线性插值编程_数据_04

  这样,在代数上就可以表示成为:

y = (1 − α)y0 + αy1

  或者,

y = y0 + α(y1 − y0)

x0x1之间并且α也不是介于0到1之间,这个公式也是成立的。在这种情况下,这种方法叫作线性外插—参见 外插值。

  已知y求x的过程与以上过程相同,只是x与y要进行交换。



线性插值近似法


  线性插值经常用于已知函数f在两点的值要近似获得其它点数值的方法,这种近似方法的误线定义为

RT = f(x) − ρ(x)

  其中ρ表示上面定义的线性插值多项式

  

java一次线性插值 线性插值编程_插值_05

  根据罗尔定理,我们可以证明:如果f有两个连续导数,那么误差范围是

  

java一次线性插值 线性插值编程_java一次线性插值_06

  正如所看到的,函数上两点之间的近似随着所近似的函数的二阶导数的增大而逐渐变差。从直观上来看也是这样:函数的曲率越大,简单线性插值近似的误差也越大。



 


线性插值法的计算实例



  线性插值法是认为现象的变化发展是线性的、均匀的,所以可利用两点式的直线方程式进行线性插值。

  两点式的直线方程式为:


java一次线性插值 线性插值编程_插值_07

  即  


java一次线性插值 线性插值编程_插值_08


X0,Y0,X1,Y1——已知的统计数据;

X0,X1之间的任何数据;

      Y——与X对应的插值数据。

  例 某地区居民货币收入和消费支出情况如表1所示。试推算该地区居民收入为19.5亿元时,其相应的消费支出是多少?



表1 居民货币收入和消费支出资料(单位:亿元)

顺序

货币收入(x)

消费支出(y)

0

18.2

15.8

1

19.8

17.2


  解  

java一次线性插值 线性插值编程_插值_08

    

java一次线性插值 线性插值编程_java一次线性插值_10

 = 16.9

  所以,当该地区居民收入是19.5亿元时,其消费支出是16.9亿元。

  由于线性插值法只利用两点的对应值宋推算两点之间的对应值,而两点对应值本身往往受到各种偶然因素的影响,所以线性插值结果可能误差较大。



 


参考文献



  1.  道明诚教育CFA考试培训中心编,余润主编.CFA考试核心词汇手册.中信出版社,2011.03.
  2.  于磊 赵君明编著.统计学.同济大学出版社,2003年09月第2版.