zoukankan      html  css  js  c++  java
  • 二元泰勒公式

    用多个变量的一个多项式来近似表达一个给定的多元函数,并能具体的估算出误差的大小。

    定义:函数 $f(x,y)$ 在含 $(x_{0},y_{0})$ 的某一邻域内连续且有直到 $n+1$ 阶的连续偏导数,$(x_{0} + h, y_{0} + k)$ 为此邻域内一点,则有

    $$f(x_{0} + h,y_{0} + k) = f(x_{0},y_{0}) + frac{hcdot frac{partial }{partial x} + kcdot frac{partial }{partial y}}{1!}f(x_{0},y_{0}) + frac{left ( hcdot frac{partial }{partial x} + kcdot frac{partial }{partial y} ight )^{2}}{2!}f(x_{0},y_{0}) +...+ frac{left ( hcdot frac{partial }{partial x} + kcdot frac{partial }{partial y} ight )^{n}}{n!}f(x_{0},y_{0}) + R_{n} \
    R_{n} = frac{left ( hcdot frac{partial }{partial x} + kcdot frac{partial }{partial y} ight )^{n+1}}{(n+1)!}f(x_{0} + heta h,y_{0} + heta k),0 < heta < 1$$

    类比于一元泰勒公式,每个多项式有两部分构成,一部分是包含偏导数的系数部分,另一部分是 $x-x_{0},y-y_{0}$ 的幂次项。

    上面的定义式不太直观,在这个公式中多了很多交叉的项,如果只写到二阶,则形式如下:

    $$f(x,y) = f(x_{0},y_{0}) + f_{x}^{'}(x_{0},y_{0})(x-x_{0}) + f_{y}^{'}(x_{0},y_{0})(y-y_{0}) + frac{f_{xx}^{''}(x_{0},y_{0})}{2!}(x-x_{0})^{2} + frac{f_{xy}^{''}(x_{0},y_{0})}{2!}2(x-x_{0})(y-y_{0}) + frac{f_{yy}^{''}(x_{0},y_{0})}{2!}(y-y_{0})^{2} + R_{n}$$

    或者是写成下面的形式

    $$f(x_{0} + h,y_{0}+k) = f(x_{0},y_{0}) + f_{x}^{'}(x_{0},y_{0})h + f_{y}^{'}(x_{0},y_{0})k + frac{f_{xx}^{''}(x_{0},y_{0})}{2!}h^{2} + frac{f_{xy}^{''}(x_{0},y_{0})}{2!}2hk + frac{f_{yy}^{''}(x_{0},y_{0})}{2!}k^{2} + R_{n}$$

    下面来看下这个一长串的定义式是怎么推导出来的:

    我们是利用一元泰勒公式来推导的,引入一元函数:

    $$Phi(t) = f(x_{0} + ht,y_{0}+kt),0leq tleq 1$$

    当 $t = 1$ 时,就得到 $Phi(1) = f(x_{0} + h,y_{0}+k)$。

    对 $Phi(t)$ 求导,有

    $$Phi^{'}(t) = hf_{1}^{'} + kf_{2}^{'} = hfrac{partial f}{partial x} + kfrac{partial f}{partial y} = left ( hfrac{partial }{partial x} + kfrac{partial }{partial y} ight )f$$

    $$Phi^{''}(t) = h^{2}f_{11}^{''} + 2hkf_{12}^{''} + k^{2}f_{22}^{''} = h^{2}frac{partial^{2} f}{(partial x)^{2}} + 2hkfrac{partial^{2} f}{partial x partial y} + k^{2}frac{partial^{2} f}{(partial y)^{2}} = left ( hfrac{partial }{partial x} + kfrac{partial }{partial y} ight )^{2}f$$

    $$Phi^{'''}(t) = h^{3}f_{111}^{'''} + 3h^{2}kf_{112}^{'''} + 3hk^{2}f_{122}^{'''} + k^{3}f_{222}^{'''} = left ( hfrac{partial }{partial x} + kfrac{partial }{partial y} ight )^{3}f$$

    当 $t = 0$ 时,得到

    $$Phi (0) = f(x_{0},y_{0})$$

    $$Phi^{'}(0) =  left ( hfrac{partial }{partial x} + kfrac{partial }{partial y} ight )f(x_{0},y_{0})$$

    $$Phi^{''}(0) = left ( hfrac{partial }{partial x} + kfrac{partial }{partial y} ight )^{2}f(x_{0},y_{0})$$

    代入

    $$Phi (t) = Phi (0) + Phi ^{'}(0)t + frac{Phi ^{''}(0)}{2}t^{2} + frac{Phi ^{'''}( heta)}{6}t^{3}$$

    $$Phi (t) = f(x_{0},y_{0}) + left ( hfrac{partial }{partial x} + kfrac{partial }{partial y} ight )f(x_{0},y_{0})cdot t + frac{left ( hfrac{partial }{partial x} + kfrac{partial }{partial y} ight )^{2}}{2}f(x_{0},y_{0})cdot t^{2} + frac{left ( hfrac{partial }{partial x} + kfrac{partial }{partial y} ight )^{3}}{6}f(x_{0} + h heta,y_{0} + k heta)cdot t^{3}$$

    所以有:

    $$Phi (1) = f(x_{0},y_{0}) + left ( hfrac{partial }{partial x} + kfrac{partial }{partial y} ight )f(x_{0},y_{0})cdot + frac{left ( hfrac{partial }{partial x} + kfrac{partial }{partial y} ight )^{2}}{2}f(x_{0},y_{0})cdot + frac{left ( hfrac{partial }{partial x} + kfrac{partial }{partial y} ight )^{3}}{6}f(x_{0} + h heta,y_{0} + k heta)cdot$$

  • 相关阅读:
    异常处理
    反射4中内置函数
    property装饰器与继承
    封装
    面向对象编程
    面向对象编程
    项目开发规范
    logging模块
    22. 一个题来探查对 字符串,指针,数组三方面的关联使用方面的概念是否清晰,分析下面三个printf打印什么?
    21. 让指针数组结尾带NULL,使遍历时不依靠计算整个数组大小就可以在结尾遍历结束
  • 原文地址:https://www.cnblogs.com/yanghh/p/13380119.html
Copyright © 2011-2022 走看看