zoukankan      html  css  js  c++  java
  • 拉格朗日插值法

    作用

    拉格朗日插值法可以找到一个多项式,其恰好在各个观测的点取到观测到的值。这样的多项式称为拉格朗日(插值)多项式。数学上来说,拉格朗日插值法可以给出一个恰好穿过二维平面上若干个已知点的多项式函数。
    一句话 给出(n+1)个点的信息求(n)次的未知式。

    概念

    若已知(y=f(x))在互不相同(n+1)个点(x_0,x_1,...x_n)处的函数值(y_0,y_1,...,y_n)(即该函数过 ((x_0,y_0),(x_1,y_1),...,(x_n,y_n))(n+1)个点),则可以考虑构造一个过这(n+1)个点,次数不超过(n)的多项式(y=P_n(x)),使其满足

    [P_n(x_k)=y_k (k=0,1,...,n) ]

    要估计任一点(xi)(xi)(x_i),(i=0,1,...,n),则可以用(P_n)(()(xi)())的 值作为精确(f)(()(xi)())的近似值,此方法叫做“插值法”。

    定理

    满足插值条件的次数不超过(n)的多项式是存在而且是唯一的。

    作法

    设集合(D_n)是关于点((x,y))的角标的集合,(D_n={0,1,...,n-1}),作(n)个多项式(p_j(x),jin D_n)。对于任意(kin D_n),都有(p_k(x)),(B_k=){(i|i ot = k,iin D_n)},使得

    [p_k(x)=prod_{iin B_k}{frac{x-x_i}{x_k-x_i}} ]

    (p_k(x))(n-1)次多项式,且满足(forall min Ik,p_k(x_m)=0)并且(p_k(x_k)=1)

    最后可得(L_n(x)=sum_{j=0}^{n-1}{y_jp_j(x)})

    形如上式的插值多项式(L_n(x))称为拉格朗日插值多项式。

    例如:当(n=4)时,上面的公式可简化为:

    [f(x)=frac{(x-x_1)(x-x_2)(x-x_3)}{(x_0-x_1)(x_0-x_2)(x_0-x_3)}y_0+frac{(x-x_0)(x-x_2)(x-x_3)}{(x_1-x_0)(x_1-x_2)(x_1-x_3)}y_1+frac{(x-x_0)(x-x_1)(x-x_3)}{(x_2-x_0)(x_2-x_1)(x_2-x_3)}y_2+frac{(x-x_0)(x-x_1)(x-x_2)}{(x_3-x_0)(x_3-x_1)(x_3-x_2)}y_3 ]

    这是一个过四个点的唯一的三次多项式

    重心拉格朗日插值法

    [f_i(x)=frac{prod_{j ot =i}{(x-x_j)}}{prod_{j ot =i}{(x_i-x_j)}}y_i ]

    [g(x)=sum_{i=0}^nf_i(x) ]

    考虑得到的函数计算了重复的部分,

    [l(x)=prod_{i=1}^n{(x-x_i)} ]

    [f_i(x)=frac{l(x)}{(x-x_i)prod_{j ot =i}{(x_i-x_j)}}y_i ]

  • 相关阅读:
    我的又一个web2.0作品
    AjaxPro使用注意事项与返回数据库中数据时2.0和3.5/4.0的区别(我的心得)
    AjaxPro入门使用方法
    SQLHelper的简单应用,高手绕道,写出最近用的一个类,仅供初学者参考
    Notepad++插件NPPExec编译运行C++、JAVA和Python代码
    在Ubuntu 18.04 LTS上搭建SS并启用BBR
    Linux 目录和文件管理
    chap06
    三层交换机的VLAN划分
    传输协议
  • 原文地址:https://www.cnblogs.com/Nan-Cheng/p/9735207.html
Copyright © 2011-2022 走看看