zoukankan      html  css  js  c++  java
  • 泰勒展开

    泰勒展开是什么

    用多项式来拟合一个函数,比如你是泰勒,你想求 (sin(x)),我们在小学二年级的时候学过,sin(x) 可能是无理数,那我只需要一定的精度就可以了,(sin(x)) 是弯的,那多项式也是弯的,用多项式来拟合 (sin(x)) 不就完了

    泰勒展开

    [g(x) = frac {f(a)} {0!} + frac {f'(a)} {1!}(x - a) + frac{f''(a)} {2!}(x - a)^2 + ... + frac {f^{(n)}(a)} {n!}(x - a)^n + R_n(x) ]

    [= sum_{i = 0} ^ {infty} frac {f^{(i)}(a)} {i!}(x - a)^i ]

    (R_n(x)) 是余项,(R_n(x) = sum_{i = n + 1} ^ {infty} frac {f^{(i)}(a)} {i!} (x - a) ^ i),可以发现,(n) 越大,(R_n(x)) 越小
    (x = a)(g(x) = f(x),R_n(x) = 0)

    这个 (a) 是什么呢?这要从泰勒展开是怎么来说起

    证明

    首先这个函数能泰勒展开,它要求能无限求导(显然是废话,不能无限求导还展开啥)
    比如我要对 (f(x)) 泰勒展开,我有 (f(x))(a) 点的点值 (f(a) = y),现在我想求得一个多项式 (g(x))(g(x) = f(x)),如果说 (g(x) = f(x))(g'(x) = f'(x)),他们导数的导数还是相等
    我们设 (g(x)) 是一个 (n) 次多项式,第一步 我选择 (0 ,f(0)) 作为起始点

    [f(0) = g(0), frac {f(0)} {0!} = a_0 ]

    继续往后推

    [f'(0) = g'(0), frac {f'(0)} {1!} = a_1 ]

    [f''(0) = g''(0), frac {f''(0)} {2!} = a_2 ]

    显然

    [f(x) = sum_{i = 0} ^ {infty} frac {f^{(i)}(0)} {i!} x^i ]

    这就是 麦克劳林公式 (OI) 中最常用的就是这个公式了
    如果将 (a, f(a)) 作为起始点,最终推导就是泰勒多项式了(其实是我不会证明)

    这时我们发现,虽然泰勒展开了,但是还有个余项 (R_n(x)),因为我们不可能求出一个无限项的多项式,计算机也做不到。这时可以近似一个余项来减小误差

    拉格朗日余项

    待填

  • 相关阅读:
    Postgresql常用命令&&函数
    gcc g++参数
    cython编译Python为c语言
    安装python3
    pip 国内源
    ceph 对象存储s3
    Rancher基础
    helm常用命令
    chartmuseum配置和使用
    python-etcd3
  • 原文地址:https://www.cnblogs.com/XiaoVsun/p/13054116.html
Copyright © 2011-2022 走看看