数值计算方法第四章—插值法

本文详细介绍了插值法,包括代数插值、拉格朗日插值、逐次线性插值、牛顿插值、反插值、埃尔米特插值、分段插值法和三次样条插值。通过实例展示了如何使用这些插值方法求解函数值,以及讨论了插值余项和误差估计。
摘要由CSDN通过智能技术生成

插值法

本文参考书为马东升著《数值计算方法》

代数插值

  • 插值

    已知某些(有限)点的函数值求其余点的函数值

  • 代数多项式插值

    n + 1 n+1 n+1互异节点处满足插值条件 P ( x i ) = y i   , i = 0 , 1 , ⋯   , n P(x_i)=y_i\ ,i=0,1,\cdots,n P(xi)=yi ,i=0,1,,n n n n 次代数多项式 P ( x ) = a 0 + a 1 x + a 2 x 2 + ⋯ + a n x n P(x)=a_0+a_1x+a_2x^2+\cdots+a_nx^n P(x)=a0+a1x+a2x2++anxn唯一


    f ( x ) f(x) f(x) 是次数不超过 n n n多项式时,其 n n n 次插值多项式就是 f ( x ) f(x) f(x) 本身

    例: 已知函数 f ( x ) = 56 x 3 + 24 x 2 + 5 f(x)=56x^3+24x^2+5 f(x)=56x3+24x2+5 在点 2 0 , 2 1 , 2 5 , 2 7 2^0,2^1,2^5,2^7 20,21,25,27 的函数值,求其三次插值多项式

    解: 因为 f ( x ) f(x) f(x) 次数为 3 3 3 不超过三次,且其为多项式,故其三次插值多项式 P ( x ) = f ( x ) = 56 x 3 + 24 x 2 + 5 P(x)=f(x)=56x^3+24x^2+5 P(x)=f(x)=56x3+24x2+5

  • 抛物线(二次)插值

    已知 f ( x ) f(x) f(x)三个互异点 x 0   , x 1   , x 2 x_0\ ,x_1\ ,x_2 x0 ,x1 ,x2 的函数值 y 0   , y 1   , y 2 y_0\ ,y_1\ ,y2 y0 ,y1 ,y2 构造一个次数不超过二次的多项式
    P ( x ) = a 0 + a x + a 2 x 2 P(x)=a_0+a_x+a_2x^2 P(x)=a0+ax+a2x2
    使其满足插值条件
    P ( x i ) = y i ,   ( i = 0 , 1 , 2 ) P(x_i)=y_i\quad,\ (i=0,1,2) P(xi)=yi, (i=0,1,2)


拉格朗日插值

  • 线性插值

    已知 f ( x 0 ) = y 0   , f ( x 1 ) = y 1   , x 0 ≠ x 1 f(x_0)=y_0\ ,f(x_1)=y_1\ ,x_0\ne x_1 f(x0)=y0 ,f(x1)=y1 ,x0=x1 要构造线性函数 P ( x ) = a 0 + a 1 x P(x)=a_0+a_1x P(x)=a0+a1x ,使其满足插值条件 P ( x 0 ) = y 0   , P ( x 1 ) = y 1 P(x_0)=y_0\ ,P(x_1)=y_1 P(x0)=y0 ,P(x1)=y1
    y − y 0 x − x 0 = y 1 − y 0 x 1 − x 0        P ( x ) = y 0 + y 1 − y 0 x 1 − x 0 ( x − x 0 ) \dfrac {y-y_0}{x-x_0}=\dfrac {y_1-y_0}{x_1-x_0}\ \ \ \ \ \ P(x)=y_0+\dfrac {y_1-y_0}{x_1-x_0}(x-x_0) xx0yy0=x1x0y1y0      P(x)=y0+x1x0y1y0(xx0)
    表达式为
    P ( x ) = ( x − x 1 x 0 − x 1 ) y 0 + ( x − x 0 x 1 − x 0 ) y 1 = l 0 ( x ) y 0 + l 1 ( x ) y 1 P(x)=(\dfrac {x-x_1}{x_0-x_1})y_0+(\dfrac {x-x_0}{x_1-x_0})y_1=l_0(x)y_0+l_1(x)y_1 P(x)=(x0x1xx1)y0+(x1x0xx0)y1=l0(x)y0+l1(x)y1
    公式的结构,它是两个一次函数的线性组合

    线性插值基函数
    l 0 ( x ) = x − x 1 x 0 − x 1    ,   l 1 ( x ) = x − x 0 x 1 − x 0 l_0(x)=\dfrac {x-x_1}{x_0-x_1}\ \ ,\ l_1(x)=\dfrac {x-x_0}{x_1-x_0} l0(x)=x0x1xx1  , l1(x)=x1x0xx0

    例: 给定平方表

    x 100 121
    y 10 11

    试用线性插值求 115 115 115 的平方根

    解: x 0 = 100   , x 1 = 121   , x = 115 x_0=100\ ,x_1=121\ ,x=115 x0=100 ,x1=121 ,x=115

    P ( x ) = ( x − x 1 x 0 − x 1 ) y 0 + ( x − x 0 x 1 − x 0 ) y 1 P(x)=(\dfrac {x-x_1}{x_0-x_1})y_0+(\dfrac {x-x_0}{x_1-x_0})y_1 P(x)=(x0x1xx1)y0+(x1x0xx0)y1

    115 ≈ P ( 115 ) = 10.714 \sqrt {115}\approx P(115)=10.714 115 P(115)=10.714


  • 抛物线插值

    已知 f ( x ) f(x) f(x)三个互异点 x 0   , x 1   , x 2 x_0\ ,x_1\ ,x_2 x0 ,x1 ,x2 的函数值 y 0   , y 1   , y 2 y_0\ ,y_1\ ,y2 y0 ,y1 ,y2 构造一个次数不超过二次的多项式
    P ( x ) = a 0 + a x + a 2 x 2 P(x)=a_0+a_x+a_2x^2 P(x)=a0+ax+a2x2
    使其满足插值条件
    P ( x i ) = y i ,   ( i = 0 , 1 , 2 ) P(x_i)=y_i\quad,\ (i=0,1,2) P(xi)=yi, (i=0,1,2)
    表达式为
    P ( x ) = l 0 ( x ) y 0 + l 1 ( x ) y 1 + l 2 ( x ) y 2 P(x)=l_0(x)y_0+l_1(x)y_1+l_2(x)y_2 P(x)=l0(x)y0+l1(x)y1+l2(x)y2
    其中插值基函数为
    l 0 = ( x − x 1 ) ( x − x 2 ) ( x 0 − x 1 ) ( x 0 − x 2 ) l 1 = ( x − x 0 ) ( x − x 2 ) ( x 1 − x 0 ) ( x 1 − x 2 ) l 2 = ( x − x 0 ) ( x − x 1 ) ( x 2 − x 0 ) ( x 2 − x 1 ) l_0=\dfrac {(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)}\quad l_1=\dfrac {(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)}\quad l_2=\dfrac {(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)} l0=(x0x1)(x0x2)(xx1)(xx2)l1=(x1x0)(x1x2)(xx0)(xx2)l2=(x2x0)(x2x1)(xx0)(xx1)

    例: 已知 100 , 121 , 144 100,121,144 100,121,144 的平方根,计算 115 115 115 的平方根的近似值

    x 100 121 144
    y 10 11 12

    解: P ( x ) = ( x − 121 ) ( x − 144 ) ( 100 − 121 ) ( 100 − 144 ) × 10 + ( x − 100 ) ( x − 144 ) ( 121 − 100 ) ( 121 − 144 ) × 11 + ( x − 100 ) ( x − 121 ) ( 144 − 100 ) ( 144 − 121 ) × 12 P(x)=\dfrac {(x-121)(x-144)}{(100-121)(100-144)}\times 10+\dfrac {(x-100)(x-144)}{(121-100)(121-144)}\times 11+\dfrac {(x-100)(x-121)}{(144-100)(144-121)}\times 12 P(x)=(100121)(100144)(x121)(x144)×10+(121100)(121144)(x100)(x144)×11+(144100)(144121)(x100)(x121)×12

    f ( 115 ) ≈ P ( 115 ) = 10.7228 f(115)\approx P(115)=10.7228 f(115)P(115)=10.7228


  • 拉格朗日插值多项式

    • l k ( x ) = ∏ i = 0   , i ≠ k n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值