泰勒公式推导以及常用展开式与近似计算
泰勒公式的基本思想是通过函数在某点的导数来逐渐构建一个多项式,该多项式能够近似函数在该点附近的值。我们通过一次次引入导数来改进近似,从而得到一个无限级数的展开。
准备工作:函数的定义和导数
假设我们有一个函数 f ( x ) f(x) f(x),并且它在点 a a a附近是可导的。我们希望在点 a a a附近找到一个多项式,使得该多项式在点 a a a处尽可能接近函数值。
首先,我们知道,函数在点 a a a处的值为 f ( a ) f(a) f(a),一阶导数为 f ′ ( a ) f'(a) f′(a),二阶导数为 f ′ ′ ( a ) f''(a) f′′(a),以此类推。
从函数值开始(零阶近似)
最简单的近似就是用函数值来逼近函数。这意味着在点 a a a附近,我们假设:
f ( x ) ≈ f ( a ) f(x) \approx f(a) f(x)≈f(a)
这个近似很粗糙,仅仅考虑了函数在点 a a a的值。
加入一阶导数(线性近似)
接下来,我们加入函数在点 a a a的导数信息。根据导数的定义,函数 f ( x ) f(x) f(x)在点 a a a的导数可以看作是函数值变化的速率。因此,在点 a a a附近,我们可以通过直线(切线)来近似函数:
f ( x ) ≈ f ( a ) + f ′ ( a ) ( x − a ) f(x) \approx f(a) + f'(a)(x - a) f(x)≈f(a)+f′(a)(x−a)
这个式子表示函数在点 a a a附近的线性变化。
加入二阶导数(二次近似)
为了提高近似精度,我们可以进一步引入二阶导数。二阶导数反映了函数变化的加速度,帮助我们更加精确地逼近函数。根据导数的定义和二阶导数的性质,我们可以得到:
f ( x ) ≈ f ( a ) + f ′ ( a ) ( x − a ) + f ′ ′ ( a ) 2 ! ( x − a ) 2 f(x) \approx f(a) + f'(a)(x - a) + \frac{f''(a)}{2!}(x - a)^2 f(x)≈f(a)+f′(a)(x−a)+2!f′′(a)(x−a)2
这个式子提供了二次多项式的近似,精度比一阶多项式更高。
加入更高阶导数
我们可以继续通过引入更高阶的导数来改进逼近。对于第三阶导数,我们得到:
f ( x ) ≈ f ( a ) + f ′ ( a ) ( x − a ) + f ′ ′ ( a ) 2 ! ( x − a ) 2 + f ( 3 ) ( a ) 3 ! ( x − a ) 3 f(x) \approx f(a) + f'(a)(x - a) + \frac{f''(a)}{2!}(x - a)^2 + \frac{f^{(3)}(a)}{3!}(x - a)^3 f(x)≈f(a)+f′(a)(x−a)+2!f′′(a)(x−a)2+3!f(3)(a)(x−a)3
依此类推,加入更高阶的导数,从而得到更精确的近似。
无限级数的推导
通过不断增加导数项,我们得到了一个多项式展开形式:
f ( x ) ≈ f ( a ) + f ′ ( a ) ( x − a ) + f ′ ′ ( a ) 2 ! ( x − a ) 2 + f ( 3 ) ( a ) 3 ! ( x − a ) 3 + ⋯ f(x) \approx f(a) + f'(a)(x - a) + \frac{f''(a)}{2!}(x - a)^2 + \frac{f^{(3)}(a)}{3!}(x - a)^3 + \cdots f(x)≈f(a)+f′(a)(x−a)+2!f′′(a)(x−a)2+3!f(3)(a)(x−a)3+⋯
为了更一般化地表示这个过程,我们将其写成无限级数的形式:
f ( x ) = ∑ n = 0 ∞ f ( n ) ( a ) n ! ( x − a ) n f(x) = \sum_{n=0}^{\infty} \frac{f^{(n)}(a)}{n!}(x - a)^n f(x)=n=0∑∞n!f(n)(a)(x−a)n
其中, f ( n ) ( a ) f^{(n)}(a) f(n)(a)表示函数在点 a a a的 n n n阶导数, n ! n! n!是阶乘。
余项(误差项)
在实际应用中,我们通常只考虑泰勒展开的有限项。例如,只考虑前 n n n项来近似函数。那么这个有限项的近似误差可以通过余项来表示。
在泰勒展开的推导过程中,余项提供了我们用有限项近似时,误差的大小。它的具体形式为拉格朗日余项:
R n ( x ) = f ( n + 1 ) ( c ) ( n + 1 ) ! ( x − a ) n + 1 R_n(x) = \frac{f^{(n+1)}(c)}{(n+1)!}(x - a)^{n+1} Rn(x)=(n+1)!f(n+1)(c)(x−a)n+1
其中 c c c是某个介于 a a a和 x x x之间的点,具体位置依赖于 x x x。这个余项可以用来估计函数值与泰勒多项式近似值之间的误差。
常用函数的泰勒展开
对于一些常见的初等函数,泰勒展开有特别简洁的形式。以下列出几个常用函数的泰勒展开公式(假设展开点为 x = 0 x=0 x=0,即Maclaurin级数):
1. 指数函数 e x e^x ex 的泰勒展开
e x = 1 + x + x 2 2 ! + x 3 3 ! + ⋯ = ∑ n = 0 ∞ x n n ! e^x = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \cdots = \sum_{n=0}^{\infty} \frac{x^n}{n!} ex=1+x+2!x2+3!x3+⋯=n=0∑∞n!xn
2. 正弦函数 sin x \sin x sinx 的泰勒展开
sin x = x − x 3 3 ! + x 5 5 ! − ⋯ = ∑ n = 0 ∞ ( − 1 ) n x 2 n + 1 ( 2 n + 1 ) ! \sin x = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \cdots = \sum_{n=0}^{\infty} (-1)^n \frac{x^{2n+1}}{(2n+1)!} sinx=x−3!x3+5!x5−⋯=n=0∑∞(−1)n(2n+1)!x2n+1
3. 余弦函数 cos x \cos x cosx 的泰勒展开
cos x = 1 − x 2 2 ! + x 4 4 ! − ⋯ = ∑ n = 0 ∞ ( − 1 ) n x 2 n ( 2 n ) ! \cos x = 1 - \frac{x^2}{2!} + \frac{x^4}{4!} - \cdots = \sum_{n=0}^{\infty} (-1)^n \frac{x^{2n}}{(2n)!} cosx=1−2!x2+4!x4−⋯=n=0∑∞(−1)n(2n)!x2n
4. 自然对数函数 ln ( 1 + x ) \ln(1+x) ln(1+x) 的泰勒展开
对于 ∣ x ∣ < 1 |x| < 1 ∣x∣<1, ln ( 1 + x ) \ln(1+x) ln(1+x)的泰勒展开为:
ln ( 1 + x ) = x − x 2 2 + x 3 3 − x 4 4 + ⋯ = ∑ n = 1 ∞ ( − 1 ) n + 1 x n n \ln(1+x) = x - \frac{x^2}{2} + \frac{x^3}{3} - \frac{x^4}{4} + \cdots = \sum_{n=1}^{\infty} (-1)^{n+1} \frac{x^n}{n} ln(1+x)=x−2x2+3x3−4x4+⋯=n=1∑∞(−1)n+1nxn
5. 反正切函数 tan − 1 x \tan^{-1} x tan−1x 的泰勒展开
对于 ∣ x ∣ ≤ 1 |x| \leq 1 ∣x∣≤1, tan − 1 x \tan^{-1} x tan−1x的泰勒展开为:
tan − 1 x = x − x 3 3 + x 5 5 − ⋯ = ∑ n = 0 ∞ ( − 1 ) n x 2 n + 1 2 n + 1 \tan^{-1} x = x - \frac{x^3}{3} + \frac{x^5}{5} - \cdots = \sum_{n=0}^{\infty} (-1)^n \frac{x^{2n+1}}{2n+1} tan−1x=x−3x3+5x5−⋯=n=0∑∞(−1)n2n+1x2n+1
利用泰勒展开进行近似计算
1. 计算极限
当我们遇到极限问题时,利用泰勒展开可以将复杂的函数转化为一个多项式形式,进而简化计算。
2. 函数的近似值
泰勒展开也可以用来计算某个函数在某点附近的近似值。假设我们要计算 f ( x ) f(x) f(x)在点 a a a附近的值,可以通过有限项的泰勒展开来进行逼近。
3. 解微分方程
在解微分方程时,泰勒展开常常用来近似解。通过泰勒展开可以构造出逐步逼近的解序列,特别是在求解初值问题时。
误差估计
对于泰勒展开的有限项近似,我们可以通过余项估计误差。对于 n n n阶泰勒多项式,其误差(拉格朗日余项)通常表示为:
R n ( x ) = f ( n + 1 ) ( c ) ( n + 1 ) ! ( x − a ) n + 1 R_n(x) = \frac{f^{(n+1)}(c)}{(n+1)!}(x - a)^{n+1} Rn(x)=(n+1)!f(n+1)(c)(x−a)n+1
其中 c c c是介于 a a a和 x x x之间的某个点。误差项提供了有限项展开的精度,帮助我们估计近似的准确性。
相关文章:
泰勒公式推导以及常用展开式与近似计算
泰勒公式的基本思想是通过函数在某点的导数来逐渐构建一个多项式,该多项式能够近似函数在该点附近的值。我们通过一次次引入导数来改进近似,从而得到一个无限级数的展开。 准备工作:函数的定义和导数 假设我们有一个函数 f ( x ) f(x) f(x)…...
ArcGIS注册开发账号及API KEY
注册与激活 Sign up | ArcGIS Location Platform 填写信息,然后邮箱收到激活邮件,激活,再补充信息。 参考 Tutorial: Create an API key | Documentation | Esri Developer 产生API KEY Tutorial: Create an API key | Documentation |…...
Idea 插件 Quickly-Code-Toolkit
使用说明 (一)全局设置 Paging Wrapper Setting(分页设置) 功能:主要用于在方法写入时,为返回参数提供分页包装类。设置方式:需准确填写分页包装类的全限定名,例如:com…...
HTTP与Websocket
HTTP协议 概述 HTTP (Hypertext Transfer Protocol),即超文本传输协议,是一种用于在客户端和服务器之间传输超文本(例如网页、图片、音频、视频等)的通信协议。它是万维网(WWW)的基础,负责在浏…...
java八股---java面向对象
面向对象 面向对象概述 面向对象和面向过程的区别 面向过程: 优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能…...
《Deepseek入门到精通》2.0版本《Deepseek赋能职场应用》清华大学
🚀 《Deepseek入门到精通》2.0版本重磅发布! 📚 全新升级,赋能职场应用! 经过多次改版与优化,《Deepseek入门到精通》2.0版本已经正式上线!这不仅是一份技术指南,更是你提升职场竞争…...
关于防火墙运维面试题2
三、防火墙配置与管理类 21. 如何根据企业的网络安全策略,制定一套全面的防火墙规则集?需要考虑哪些关键因素? 以下是根据企业网络安全策略制定全面防火墙规则集的指导,以及需要考虑的关键因素: 一、关键因素 &…...
使用c++实现红黑树的构建和插入
1.红黑树简介: 红黑树实际上和AVL都属于一棵用于存储数据的平衡二叉搜索树,但是这棵树并不是使用平衡因子去维持平衡的,而是结合限制条件对结点标红标黑去让树达到类似平衡的效果。 2.红黑树的限制条件和效率分析: 2.1限制条件…...
在大型语言模型(LLM)框架内Transformer架构与混合专家(MoE)策略的概念整合
文章目录 传统的神经网络框架存在的问题一. Transformer架构综述1.1 transformer的输入1.1.1 词向量1.1.2 位置编码(Positional Encoding)1.1.3 编码器与解码器结构1.1.4 多头自注意力机制 二.Transformer分步详解2.1 传统词向量存在的问题2.2 详解编解码…...
Jenkins项目CICD流程
Jenkins项目流程:1.配置git环境 git config --...2.把前后端的目录初始化位本地工作目录 #git init3.提交到本地git #git add ./ git commit -m "" git tag v14.然后提交到远程git(通过,用户,群组,项目,管理项目)git remote add origin http://...git push -…...
【IDEA】2017版本的使用
目录 一、常识 二、安装 1. 下载IDEA2017.exe 2. 安装教程 三、基本配置 1. 自动更新关掉 2. 整合JDK环境 3. 隐藏.idea文件夹和.iml等文件 四、创建Java工程 1. 新建项目 2. 创建包结构,创建类,编写main主函数,在控制台输出内容。…...
Git指南-从入门到精通
代码提交和同步命令 流程图如下: 第零步: 工作区与仓库保持一致第一步: 文件增删改,变为已修改状态第二步: git add ,变为已暂存状态 bash $ git status $ git add --all # 当前项目下的所有更改 $ git add . # 当前目录下的所有更改 $ g…...
Spring boot(maven) - Mybatis 超级入门版
前言: 通过实践而发现真理,又通过实践而证实真理和发展真理。从感性认识而能动地发展到理性认识,又从理性认识而能动地指导革命实践,改造主观世界和客观世界。实践、认识、再实践、再认识,这种形式,循环往…...
Spark 性能优化 (三):RBO 与 CBO
1. RBO 的核心概念 在 Apache Spark 的查询优化过程中,规则优化(Rule-Based Optimization, RBO) 是 Catalyst 优化器的一个关键组成部分。它主要依赖于一组固定的规则进行优化,而不是基于统计信息(如 CBO - Cost-Base…...
读 DeepSeek-R1 论文笔记
DeepSeek-R1:通过强化学习激发大语言模型的推理能力 DeepSeek-AI 摘要 我们推出第一代推理模型DeepSeek-R1-Zero和DeepSeek-R1。DeepSeek-R1-Zero作为无需监督微调(SFT)预训练阶段、直接通过大规模强化学习(RL)训练的基础模型,展现出卓越的推理能力。…...
【Android开发AI实战】选择目标跟踪基于opencv实现——运动跟踪
文章目录 【Android 开发 AI 实战】选择目标跟踪基于 opencv 实现 —— 运动跟踪一、引言二、Android 开发与 AI 的融合趋势三、OpenCV 简介四、运动跟踪原理(一)光流法(二)卡尔曼滤波(三)粒子滤波 五、基于…...
Eclipse JSP/Servlet 深入解析
Eclipse JSP/Servlet 深入解析 引言 随着互联网的快速发展,Java Web开发技术逐渐成为企业级应用开发的主流。在Java Web开发中,JSP(JavaServer Pages)和Servlet是两个核心组件,它们共同构成了Java Web应用程序的基础。本文将深入解析Eclipse平台下的JSP/Servlet技术,帮…...
申论概括类【2021副省第二题“局区合一”】
材料: “李总监,您好,我是芯谷产业功能区项目投资科的小罗,从今天开始,我就是你们公司的项目专员,以后有什么问题您都可以找我。”W光学有限公司总务部总监李晓枫接到小罗的电话时,既意外又暖心…...
如何保持长久无痛苦的学英语?
“无痛苦”学英语? 听起来像天方夜谭,但并非不可能! 关键在于,把英语学习变成你生活的一部分,融入你的兴趣和目标, 这样才能摆脱痛苦,享受学习的过程。 1. 兴趣是最好的老师: 找到自…...
SQL-leetcode—1661. 每台机器的进程平均运行时间
1661. 每台机器的进程平均运行时间 表: Activity ----------------------- | Column Name | Type | ----------------------- | machine_id | int | | process_id | int | | activity_type | enum | | timestamp | float | ----------------------- 该表展示了一家工厂网站的…...
Linux例行任务:at 、cron、 /etc/contain 辨析
文章目录 一、at:一次性任务调度1. **基本用法**2. **管理任务**3. **权限控制** 二、cron:周期性任务调度1. **用户级任务**2. **系统级任务**3. **特殊字符串**4. **权限控制**5. **环境问题** 三、容器环境中的例行任务1. **在容器内运行 cron**2. **…...
Vue2中常用指令
文章目录 Vue2中常用指令1. v-text 动态渲染纯文本内容1. 作用2. 基本用法3. 示例4. 注意事项 2. v-html 动态渲染 HTML 内容1. 作用2. 基本用法3. 示例4. 注意事项 3. v-bind 动态绑定 HTML 属性1. 作用2. 基本用法3. 示例4. 注意事项5. 绑定class属性的用法6. 绑定style属性的…...
Sequence to Sequence model
基础模型 基础模型是用RNN模型,前部分是encoder用来寻找法语输入的编码,后半部分是decoder用来生成英文翻译作为输出,每次输出一个单词,直到输出结束标志如EOS。 下面是另一个例子,在CNN模型输出层之前会输出图片的向…...
PHP 超级全局变量
PHP 超级全局变量 引言 在PHP编程中,超级全局变量(Superglobals)是一类特殊的变量,它们在任何函数、类或文件中都可以访问。这些变量在PHP的全局作用域中始终可用,为开发者提供了处理HTTP请求和响应的强大工具。本文…...
如何在Vscode中接入Deepseek
在VS Code(Visual Studio Code)中接入DeepSeek,可以按照以下步骤进行操作: 一、准备工作 确保VS Code为最新版本: DeepSeek可能依赖于VS Code的某些最新功能或修复,因此建议先将VS Code更新到最新版本。注…...
6.appender
文章目录 一、前言二、源码解析AppenderUnsynchronizedAppenderBaseOutputStreamAppenderConsoleAppenderFileAppenderRollingFileAppenderFileNamePattern 三、总结 一、前言 前一篇文章介绍了appender、conversionRule、root和logger节点的解析, 为的是为本篇详细介绍它们的…...
Golang的消息队列架构
一、消息队列的定义和作用 消息队列是一种在不同组件之间传递消息的通信机制。它可以解耦系统的各个部分,提高系统的可靠性和扩展性。消息队列可以在系统之间传递消息,并且在消息发送者和消息接收者之间进行异步通信,使得系统可以更加灵活和高…...
如何在Servlet容器中使用HttpServletResponse?
HttpServletResponse 是 Java Servlet API 中的一个接口,它代表了服务器对客户端的响应。通过 HttpServletResponse 对象,可以设置响应的状态码、发送数据到客户端(如 HTML 页面、文件等)、添加响应头信息等。下面是如何在 Servle…...
DeepSeek自然语言处理(NLP)基础与实践
自然语言处理(Natural Language Processing, NLP)是人工智能领域的一个重要分支,专注于让计算机理解、生成和处理人类语言。NLP技术广泛应用于机器翻译、情感分析、文本分类、问答系统等场景。DeepSeek提供了强大的工具和API,帮助我们高效地构建和训练NLP模型。本文将详细介…...
GESP5级语法知识(十一):高精度算法(一)
高精度加法: #include<iostream> #include<string> #include<algorithm> using namespace std; const int N501;//高精度数的最长长度 //c[]a[]b[]:高精度加法方案一:对应位相加,同时处理进位 void h_add_1(int a[],int b…...
