泰勒展开 — Taylor Expansion

article/2025/9/12 22:11:05

泰勒展开是希望基于某区间一点 x 0 x_0 x0展开,用一组简单的幂函数 x a x^a xa来近似一个复杂的函数 f ( x ) f(x) f(x)在该区间的局部。公式如下:
f ( x ) = a 0 + a 1 ( x − x 0 ) + a 2 ( x − x 0 ) 2 + a 3 ( x − x 0 ) 3 + . . . f(x) = a_0 + a_1(x - x_0) + a_2(x - x_0)^2 + a_3(x - x_0)^3 + ... f(x)=a0+a1(xx0)+a2(xx0)2+a3(xx0)3+...

实际效果如下图所示。蓝色的线条是 s i n sin sin函数,黄色线条是 s i n sin sin函数不同阶(即上式右侧保留的项数)在 x = 0 x=0 x=0处的泰勒展开,随着阶数升高(保留其泰勒展开的更多项),其泰勒级数在更广的区间上近似 s i n sin sin函数。
Taylor Expansion

泰勒展开的应用场景例如:我们很难直接求得 s i n ( 1 ) sin(1) sin(1)的值,但我们可以通过 s i n sin sin的泰勒级数求得 s i n ( 1 ) sin(1) sin(1)的近似值,且展开项越多,精度越高。
s i n ( 1 ) = 0.8414709848078965 t a y l o r _ e x p a n s i o n _ o f _ s i n _ w i t h _ o r d e r _ 3 ( 1 ) = 0.8333333333333334 t a y l o r _ e x p a n s i o n _ o f _ s i n _ w i t h _ o r d e r _ 5 ( 1 ) = 0.8416666666666667 t a y l o r _ e x p a n s i o n _ o f _ s i n _ w i t h _ o r d e r _ 7 ( 1 ) = 0.841468253968254 sin(1) = 0.8414709848078965 \\ taylor\_expansion\_of\_sin\_with\_order\_3(1) = 0.8333333333333334 \\ taylor\_expansion\_of\_sin\_with\_order\_5(1) = 0.8416666666666667 \\ taylor\_expansion\_of\_sin\_with\_order\_7(1) = 0.841468253968254 sin(1)=0.8414709848078965taylor_expansion_of_sin_with_order_3(1)=0.8333333333333334taylor_expansion_of_sin_with_order_5(1)=0.8416666666666667taylor_expansion_of_sin_with_order_7(1)=0.841468253968254

现在我们来求得上式中各项的系数。为求 a 0 a_0 a0,令 x = x 0 x=x_0 x=x0
f ( x 0 ) = a 0 + a 1 ( x 0 − x 0 ) + a 2 ( x 0 − x 0 ) 2 + a 3 ( x 0 − x 0 ) 3 + . . . f(x_0) = a_0 + a_1(x_0 - x_0) + a_2(x_0 - x_0)^2 + a_3(x_0 - x_0)^3 + ... f(x0)=a0+a1(x0x0)+a2(x0x0)2+a3(x0x0)3+...
因此, a 0 = f ( x 0 ) a_0=f(x_0) a0=f(x0)。为求 a 1 a_1 a1,我们先对原始左右求导:
d d x f ( x ) = a 1 + 2 a 2 ( x − x 0 ) + 3 a 3 ( x − x 0 ) 2 + . . . \frac{d}{dx}f(x) = a_1 + 2a_2(x - x_0) + 3a_3(x - x_0)^2 + ... dxdf(x)=a1+2a2(xx0)+3a3(xx0)2+...
再令 x = x 0 x=x_0 x=x0
d d x f ( x 0 ) = a 1 + 2 a 2 ( x 0 − x 0 ) + 3 a 3 ( x 0 − x 0 ) 2 + . . . \frac{d}{dx}f(x_0) = a_1 + 2a_2(x_0 - x_0) + 3a_3(x_0 - x_0)^2 + ... dxdf(x0)=a1+2a2(x0x0)+3a3(x0x0)2+...
因此, a 1 = d f d x ∣ x = x 0 a_1 = \frac{df}{dx}\Big|_{x=x_0} a1=dxdfx=x0。为求 a 2 a_2 a2,我们先对原始左右求二阶导:
d 2 d x 2 f ( x ) = 2 a 2 + 3 a 3 ( x − x 0 ) + 4 ∗ 3 a 4 ( x − x 0 ) 2 + . . . \frac{d^2}{dx^2}f(x) = 2a_2 + 3a_3(x - x_0) + 4*3a_4(x - x_0)^2 + ... dx2d2f(x)=2a2+3a3(xx0)+43a4(xx0)2+...
再令 x = x 0 x=x_0 x=x0
d 2 d x 2 f ( x 0 ) = 2 a 2 + 3 a 3 ( x 0 − x 0 ) + 4 ∗ 3 a 4 ( x 0 − x 0 ) 2 + . . . \frac{d^2}{dx^2}f(x_0) = 2a_2 + 3a_3(x_0 - x_0) + 4*3a_4(x_0 - x_0)^2 + ... dx2d2f(x0)=2a2+3a3(x0x0)+43a4(x0x0)2+...
因此, a 2 = 1 2 d 2 f d x 2 ∣ x = x 0 a_2 = \frac{1}{2}\frac{d^2f}{dx^2}\Big|_{x=x_0} a2=21dx2d2fx=x0。如此往复,我们得到 a k a_k ak的计算通式:
a k = 1 k ! d k f d x k ∣ x = x 0 a_k = \frac{1}{k!}\frac{d^kf}{dx^k}\Big|_{x=x_0} ak=k!1dxkdkfx=x0
最后,我们得到函数 f ( x ) f(x) f(x) x = x 0 x=x_0 x=x0处展开的泰勒级数:
f ( x ) = f ( x 0 ) + f ′ ( x 0 ) Δ x + 1 2 ! f ′ ′ ( x 0 ) ( Δ x ) 2 + 1 3 ! f ′ ′ ′ ( x 0 ) ( Δ x ) 3 + . . . f(x) = f(x_0) + f^{\prime}(x_0)\Delta{x} + \frac{1}{2!}f^{\prime \prime}(x_0)(\Delta{x})^2 + \frac{1}{3!}f^{\prime \prime \prime}(x_0)(\Delta{x})^3 + ... f(x)=f(x0)+f(x0)Δx+2!1f(x0)(Δx)2+3!1f(x0)(Δx)3+...
其中, Δ x = x − x 0 \Delta{x} = x-x_0 Δx=xx0

对于 f ( x ± h ) f(x\pm h) f(x±h)的泰勒展开,我们只需要将上式中的 x x x替换为 x ± h x \pm h x±h x 0 x_0 x0替换为 x x x
f ( x ± h ) = f ( x ) + f ′ ( x ) ( ± h ) + 1 2 ! f ′ ′ ( x ) ( ± h ) 2 + 1 3 ! f ′ ′ ′ ( x ) ( ± h ) 3 + . . . f(x \pm h) = f(x) + f^{\prime}(x)(\pm h) + \frac{1}{2!}f^{\prime \prime}(x)(\pm h)^2 + \frac{1}{3!}f^{\prime \prime \prime}(x)(\pm h)^3 + ... f(x±h)=f(x)+f(x)(±h)+2!1f(x)(±h)2+3!1f(x)(±h)3+...

二元函数 f ( x , y ) f(x, y) f(x,y)的泰勒展开

对于 f ( x , y ) f(x, y) f(x,y) ( x 0 , y 0 ) (x_0, y_0) (x0,y0)处的泰勒展开为:
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 ) + 1 2 ! f x ′ ′ ( x 0 , y 0 ) ( x − x 0 ) 2 + 1 2 ! f y ′ ′ ( x 0 , y 0 ) ( y − y 0 ) 2 + 1 2 ! f x y ′ ′ ( x 0 , y 0 ) ( x − x 0 ) ( y − y 0 ) + 1 2 ! f y x ′ ′ ( x 0 , y 0 ) ( x − x 0 ) ( y − y 0 ) + . . . \begin{aligned} f(x, y) = & f(x_0, y_0) + f^{\prime}_x(x_0,y_0)(x-x_0) + f^{\prime}_y(x_0,y_0)(y-y_0) \\ & + \frac{1}{2!}f^{\prime \prime}_x(x_0,y_0)(x-x_0)^2 + \frac{1}{2!}f^{\prime \prime}_y(x_0,y_0)(y-y_0)^2 \\ & + \frac{1}{2!}f^{\prime \prime}_{xy}(x_0,y_0)(x-x_0)(y-y_0) + \frac{1}{2!}f^{\prime \prime}_{yx}(x_0,y_0)(x-x_0)(y-y_0) \\ & + ... \end{aligned} f(x,y)=f(x0,y0)+fx(x0,y0)(xx0)+fy(x0,y0)(yy0)+2!1fx(x0,y0)(xx0)2+2!1fy(x0,y0)(yy0)2+2!1fxy(x0,y0)(xx0)(yy0)+2!1fyx(x0,y0)(xx0)(yy0)+...

多元函数 f ( x 1 , x 2 , . . . , x n ) f(x_1, x_2, ..., x_n) f(x1,x2,...,xn)的泰勒展开

对于 f ( x 1 , x 2 , . . . , x n ) f(x_1, x_2, ..., x_n) f(x1,x2,...,xn) ( x 1 , 0 , x 2 , 0 , . . . , x n , 0 ) (x_{1,0}, x_{2,0}, ..., x_{n,0}) (x1,0,x2,0,...,xn,0)处的泰勒展开为:
f ( x 1 , x 2 , . . . , x n ) = a 0 + ∑ m = 1 ∞ [ ∑ j k j = m ∑ a x 1 , . . . , x n ; m ( x 1 − x 1 , 0 ) k 1 … ( x n − x n , 0 ) k n ] f(x_1, x_2, ..., x_n) = a_0 + \sum^{\infty}_{m=1}\Big[_{\sum_{j}k_j = m} \sum a_{x_1,...,x_n;m} (x_1-x_{1,0})^{k_1}\dots(x_n-x_{n,0})^{k_n}\Big] f(x1,x2,...,xn)=a0+m=1[jkj=max1,...,xn;m(x1x1,0)k1(xnxn,0)kn]
系数 a a a的计算通式为:
a 0 = f ( x 1 , 0 , x 2 , 0 , . . . , x n , 0 ) a x 1 , . . . , x n ; m = 1 m ∂ m f ∂ k 1 x 1 … ∂ k n x n ∣ x 1 , 0 , x 2 , 0 , . . . , x n , 0 \begin{aligned} & a_0 = f(x_{1,0}, x_{2,0}, ..., x_{n,0}) \\ & a_{x_1,...,x_n;m} = \frac{1}{m}\frac{\partial^mf}{\partial^{k_1}x_1\dots\partial^{k_n}x_n} \Big|_{x_{1,0}, x_{2,0}, ..., x_{n,0}} \end{aligned} a0=f(x1,0,x2,0,...,xn,0)ax1,...,xn;m=m1k1x1knxnmfx1,0,x2,0,...,xn,0
其中, x 1 , . . . , x n ; m x_1,...,x_n;m x1,...,xn;m表示对 { x 1 , . . . , x n } \{x_1,...,x_n\} {x1,...,xn}进行 m m m次有放回的排列组合。


http://chatgpt.dhexx.cn/article/LQYe9hEw.shtml

相关文章

泰勒展开:一阶,二阶

泰勒展开式: 当时,是麦克劳林公式 麦克劳林公式: 看下图可以发现,当多项式的阶数达到一定的数值,会很接近幂函数。 GBDT的损失函数是一阶泰勒展开,XGB是二阶展开 梯度下降法与泰勒级数的关系: 梯度下降…

泰勒公式的展开细节解析

上周写完了《《三体》读后思考-泰勒展开/维度打击/黑暗森林》后收到一些邮件,进一步思考了关于泰勒展开的意义。也许我掌握的那些网络技术比如Linux Netfilter,NAT之类,太过底层太过小众,所以大家几乎都是没有感兴趣的&#xff0c…

泰勒展开简单直观理解与常用公式

由于最近需要用到泰勒展开,所以这里整理一份泰勒展开常用的公式。 宝贝儿们,卑微小李的公众号【野指针小李】已开通,期待与你一起探讨学术哟~摸摸大! 目录 1 泰勒展开简单直观理解2 常用的泰勒展开公式2.1 定义2.2 常用的公式&…

常用泰勒展开

前往我的主页以获得更好的阅读体验 常用泰勒展开 - DearXuan的主页https://blog.dearxuan.com/2022/07/26/%E5%B8%B8%E7%94%A8%E6%B3%B0%E5%8B%92%E5%B1%95%E5%BC%80/ 三角函数 反三角函数 其他 泰勒展开项数 通常情况下,只需要记住泰勒展开的前2~3项。使用麦克劳…

泰勒展开的理解,以及在使用泰勒公式进行估算时,在不同点展开的区别和意义是啥?

泰勒展开:用多项式函数(或称为幂级数)来拟合一个无限可导的复杂函数,使该复杂函数能以简单的方式计算。 泰勒展开面临一个问题,要在某一个点的位置展开,即上面提到的 。展开点的意义是什么?如何…

泰勒公式--泰勒多项展开以及应用

一、概念 1.一句话概括泰勒展开式: 用多项式去无限逼近一个函数,就是将某个函数在一个点上泰勒展开。 泰勒级数是把一个函数展开,化成次方项相加的形式,目的是用相对简单的函数去拟合复杂函数,此时相对简单是看你需…

泰勒(Taylor)展开式(泰勒级数)

目录 泰勒公式 余项 1、佩亚诺(Peano)余项: 2、施勒米尔希-罗什(Schlomilch-Roche)余项: 3、拉格朗日(Lagrange)余项: 4、柯西(Cauchy)余项: 5、积分余…

java多态用法

目录 1.前提 2.优势与弊端 3.编译与运行 4.向上转型与向下转型 5.instance用法 要注意的是,本文章仅涉及多态中的用法讲述,不涉及基础概念(例如:什么是多态,基本概念是什么),那么&#xff…

Java多态详解(入门可看)

一、概念 所谓多态:就是指一个类实例的相同方法在不同情形有不同表现形式。多态 机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作&a…

Java多态类

Java多态类 一、多态概述二、多态性形势下的类型转换问题三.多态类综合案例 一、多态概述 1、什么是多态? 同类型的对象,执行同一个任务,会表现出不同的行为特征。 2、多态的常见形式 父类类型 对象名称 new 子类构造器 接口 对象名称 ne…

java多态的理解

目录 一、多态的定义:二:多态的好处:三、实现多态的三个条件(前提条件,向上转型、向下转型):四、多态使用:虚拟方法调用深入分析多态: 向下转型instanceof关键字的使用经…

解析java多态经典习题

解析java多态经典习题 1 题目一 1.1 题目内容 编写程序实现乐手弹奏乐器。乐手可以弹奏不同的乐器从 而发出不同的声音。 可以弹奏的乐器包括二胡、钢琴和琵琶。 实现思路及关键代码: ①定义乐器类Instrument,包括方法makeSound() ②定义乐器类的子类…

java多态(java多态的概念)

简述什么是JAVA中的多态 父类的引用可以引用子类的对象。换句话说,如果有一个类继承或实现了某个类或接口,那么被继承或实现的类或接口可以创建那一个类的对象,这样程序就会变得很灵活。 java中多态的定义是什么? 多态性是指允许不…

彻底搞懂Java多态

很多初学者在自学Java时候都卡在了Java多态,本教程从实际案例出发阐述Java多态现象及Java多态的原理。 通过案例理解多态的现象 需求描述 多态是类在继承关系下的一种形态,下边先通过一个需求展示下多态的现象。 攀博课堂是一个在线教育学习平台&…

java多态实现原理

众所周知,多态是面向对象编程语言的重要特性,它允许基类的指针或引用指向派生类的对象,而在具体访问时实现方法的动态绑定。C 和 Java 作为当前最为流行的两种面向对象编程语言,其内部对于多态的支持到底是如何实现的呢&#xff0…

新手小白学JAVA 面向对象之多态

多态 1. 概念 多态是面向对象程序设计(OOP)的一个重要特征,指同一个实体同时具有多种形式,即同一个对象,在不同时刻,代表的对象不一样,指的是对象的多种形态。 可以把不同的子类对象都当作父…

html表单实例:用户反馈表单页面代码

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>demo</title> </head> <body><h1 align"center">用户反馈表单</h1><form method"post"><…

html 下拉多选框代码,js实现下拉复选框效果(代码实例)

本章给大家带来用js实现下拉复选框效果(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 先看看效果: 下面我们看看代码: HTML代码: HTMLCSSJavaScriptjQueryPHPMySQLJavaC#C++Pyhtoncss代码:div {display: inline-block; } select {min-width…

HTML实例--制作表单

运用表格和表单基础知识简单制作一个表单 表单制作使用表格来对表单进行排版美化 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge">…

Html5 Canvas绘图实例

前些年的时候&#xff0c;突然对Canvas感兴趣&#xff0c;利用空闲时间做一些Canvas小例子进行练习&#xff0c;仅供学习分享使用。如有不足之处&#xff0c;还请指正。 什么是 Canvas&#xff1f; HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。画布是一个矩形区域…