用R语言绘制泰勒级数的逼近过程

news2024/12/23 13:43:12

文章目录

      • 泰勒级数是如何被发现的
      • 用图像理解Taylor级数的逼近过程

前情提要 R语言微积分

泰勒级数是如何被发现的

如果我是泰勒,我会把思考的起点建立在这样的一个等式上

f ( n ) ( x ) = P ( n ) ( x ) f^{(n)}(x)=P^{(n)}(x) f(n)(x)=P(n)(x)

即如果想用一个多项式函数 P P P来对 f ( x ) f(x) f(x)进行逼近,则要求这个多项式的任意阶导数均与 f ( x ) f(x) f(x)相等。

这个条件过于严格,简单起见,不妨添加一个最接近的点 x 0 x_0 x0,要求

f ( n ) ( x 0 ) = P ( n ) ( x 0 ) f^{(n)}(x_0)=P^{(n)}(x_0) f(n)(x0)=P(n)(x0)

则多项式函数可以十分便利地写为

P ( x ) = ∑ i = 0 N a i ( x − x 0 ) i P(x)=\sum_{i=0}^{N}a_i(x-x_0)^i P(x)=i=0Nai(xx0)i

从而当 i < n i<n i<n时,有 ( ( x − x 0 ) i ) ( n ) = 0 ((x-x_0)^i)^{(n)}=0 ((xx0)i)(n)=0,故而

P ( n ) ( x ) = ∑ i = n N ( x − x 0 ) i − n 1 n ! P^{(n)}(x)=\sum_{i=n}^{N}(x-x_0)^{i-n}\frac{1}{n!} P(n)(x)=i=nN(xx0)inn!1

x = x 0 x= x_0 x=x0时,有

lim ⁡ x → x 0 P ( n ) ( x 0 ) = n ! a n + n ! ∑ i = n + 1 N ( x − x 0 ) N − i = a n n ! \lim_{x\to x_0}P^{(n)}(x_0)=n!a_n+n!\sum_{i=n+1}^{N}(x-x_0)^{N-i}=\frac{a_n}{n!} xx0limP(n)(x0)=n!an+n!i=n+1N(xx0)Ni=n!an

由于 f ( x ) = P ( x ) f(x)=P(x) f(x)=P(x),从而,当 x → x 0 x\to x_0 xx0时,

a n = f ( n ) ( x 0 ) n ! a_n=\frac{f^{(n)}(x_0)}{n!} an=n!f(n)(x0)

就此得出了 f ( x ) f(x) f(x)的多项式拟合表达式

f ( x ) = ∑ i = 0 f ( i ) ( x 0 ) i ! ( x − x 0 ) i f(x)=\sum_{i=0}\frac{f^{(i)}(x_0)}{i!}(x-x_0)^i f(x)=i=0i!f(i)(x0)(xx0)i

用图像理解Taylor级数的逼近过程

那么接下来我们直观地感受一下Taylor级数时如何逐渐逼近某个函数的。简单起见,在此选择 sin ⁡ x \sin x sinx作为被拟合的函数。

library(ggplot2)
library(gganimate)
library(av)
library(tibble)

x = seq(-pi,pi,0.1)
n = length(x)

xs = rep(x,11)
ys = rep(sin(0),n)
ts = rep(0,n)

for(i in 1:10){
    y <- if(i%%2==0) 0 else 1
    if((i-1)%%4>1)
        y = -y
    y = y/factorial(i)*x^i
    m = length(ys)
    y = y+ys[(m-n+1):m]
    
    ys = c(ys,y)
    ts = c(ts,rep(i,n))
}
data<-tibble(x=xs,y=ys,t=ts)
ggplot(data,aes(x,y))+geom_point()+transition_time(t)+ease_aes('linear')

如下图所示,随着阶数的不断增多,Taylor级数对三角函数的形式越来越适应,最后大约在第5次之后,其变化就已经微不可察了,这就是多项式逼近的强大之处。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/164453.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows10电脑重装系统详细步骤(纯净版)

目录 前言&#xff1a; 一、准备工作 二、下载pe工具 三、下载系统镜像ISO文件 获取方式一 获取方式二 获取方式三 四、进入pe系统 1.检查以上的准备工作是否完成 2.然后拔出来u盘插入要重装的电脑上面 3.然后按电源键开机&#xff08;不能点击重启&#xff01;&…

【Git 从入门到精通】使用Git将本地代码推送到Github

文章目录一、创建远程库二、Git操作远程库1.推送代码2.克隆代码3.拉取代码4.Pull request5.常用命令总结一、创建远程库 打开github.com&#xff0c;点击右上角加号&#xff0c;点击第一个选项。 填写库的基本信息&#xff0c;如果你想代码开源就选择public&#xff0c;否则就…

开发模型和测试模型

开发模型瀑布模型特点&#xff1a;线性结构&#xff0c;每个阶段只执行一次&#xff0c;必须完成上一个才能执行下一个。是其他模型的基础框架缺点&#xff1a;测试后置&#xff0c;1&#xff09;前面各个阶段的遗留的风险推迟到测试阶段才被发现&#xff0c;导致项目大面积返工…

【7】SCI易中期刊推荐——图像处理领域(中科院4区)

🚀🚀🚀NEW!!!SCI易中期刊推荐栏目来啦 ~ 📚🍀 SCI即《科学引文索引》(Science Citation Index, SCI),是1961年由美国科学信息研究所(Institute for Scientific Information, ISI)创办的文献检索工具,创始人是美国著名情报专家尤金加菲尔德(Eugene Garfield…

【LGR-(-17)】洛谷入门赛 #8个人思考

T306713 Hello, 2023 题目背景 Goodbye, 2022 Hello, 2023 题目描述 某 E 在 2022 年的幸运数字是 xxx&#xff0c;这个数可能是正的&#xff0c;也可能是负的。 某 E 想要知道 xmod2023x \bmod 2023xmod2023 的值。其中&#xff0c;mod\bmodmod 是取模操作。也就是说&am…

数据结构:线性表的顺序表示和实现

在实际应用程序中涉及的线性表的基本操作都需要针对线性表的具体存储结构加以实现。线性表可以有两种存储表示方法:顺序存储表示和链式存储表示。下面我们先说说顺序存储表示。 1、顺序表——线性表的顺序存储表示 在计算机中表示线性表的最简单的方法是用一组地址连续的存储…

Linux:自动化构建工具make/Makefile

文章目录一.前言二.Makefile如何写入/make命令使用2.1清楚依赖关系和依赖方法2.2删除文件2.3Makefile中的关键字.PHONY2.4一个小补充一.前言 在此之前我们已经可以用vim编写代码和用gcc编译代码。但是如果现在要写一个大型项目&#xff0c;一下子写了很多源文件&#xff0c;在…

C. Zero Path(DP)

Problem - 1695C - Codeforces 给你一个有n行和m列的网格。我们用(i,j)表示第i(1≤i≤n)行和第j(1≤j≤m)列的方格&#xff0c;用aij表示那里的数字。所有的数字都等于1或等于-1。 你从方格&#xff08;1,1&#xff09;开始&#xff0c;每次可以向下或向右移动一个方格。最后&…

基于结点的数据结构——链表(单链表双向循环链表)| 附完整源码 | C语言版

本章内容 1.什么是链表 2.链表常见几种形式 3.无头单向非循环链表的实现 3.1结点结构的定义 3.2函数接口的实现 3.2.1尾插 3.2.2尾删 4. 带头双向循环链表的实现 4.1结点结构的定义 4.2函数接口的实现 5.两种链表的差异 ①尾插与尾删的时间复杂度 ②头插与头删的时…

Ai 作图 stable-diffusion-webui prompt

文章参考了 prompt指导手册 &#xff1a; https://strikingloo.github.io/stable-diffusion-vs-dalle-2 https://prompthero.com/stable-diffusion-prompt-guide 一般来说&#xff0c;最好的稳定扩散提示会有这样的形式&#xff1a; “ [主要主题]的[图片类型] &#xff0…

C语言-文件操作(13.1)

目录 思维导图&#xff1a; 1. 为什么使用文件 2. 什么是文件 2.1 程序文件 2.2 数据文件 2.3 文件名 3. 文件的打开和关闭 3.1 文件指针 3.2 文件的打开和关闭 4. 文件的顺序读写 4.1 对比一组函数 5. 文件的随机读写 5.1 fseek 5.2 ftell 5.3 rewind 6. 文本…

FeignClient调用源码解析

文章目录一、FeignClient二、整体流程1.使用FeignClient2.FeignClient整体调用流程三、源码解析1. 注解EnableFeignClients2. FeignClientsRegistrar3. Feign其他配置4. FactoryBean5. 方法调用一、FeignClient FeignClient作为SrpingCloud进行http请求的一个基础组件&#xf…

IP地址和MAC地址是什么?Dhcp和arp又是什么?

本期武汉海翎光电的小编和大家聊聊 计算机是如何通信的&#xff1f;IP地址和MAC地址是什么&#xff1f;Dhcp和arp又是什么&#xff1f;在我们的家庭网络中&#xff0c;有许多的网络设备&#xff0c;比如我们可以有两台计算机A和B, 一台手机一台电视机&#xff0c;他们都连接到了…

【尚硅谷】Java数据结构与算法笔记09 - 哈希表

文章目录一、哈希表引入二、基本介绍三、Google公司的一个上机题3.1 题目描述3.2 代码实现一、哈希表引入 1&#xff09;看一个实际需求, google 公司的一个上机题: 2&#xff09;有一个公司, 当有新的员工来报道时, 要求将该员工的信息加入(id,性别,年龄, 住址…), 当输入该员…

【Linux】理解文件系统——软硬链接

我们之前讨论的都是进程和被打开文件的关系&#xff0c;而如果一个文件是没有被打开呢&#xff1f;没有被打开的文件操作系统如何管理&#xff1f; 没有被打开的文件在磁盘上&#xff0c;所以磁盘上有大量的文件&#xff0c;这些文件要被静态管理起来&#xff0c;方便我们随时…

1588_AURIX_TC275_PMU简介

全部学习汇总&#xff1a; GreyZhang/g_TC275: happy hacking for TC275! (github.com) PMU是编程存储单元的缩写&#xff0c;但是落实到了具体的硬件模块上其实是一个Flash模块。在TC275中&#xff0c;只有一个PMU模块。在所有的AURIX芯片中&#xff0c;只有PMU0支持BootROM的…

React--》React组件的三大核心属性

目录 state 事件绑定 props 函数式组件使用props refs state state是组件对象最重要的属性&#xff0c;值是对象(可以包含多个 key-value的组合)&#xff1b;组件被称为“状态机”&#xff0c;通过更新组件来对应页面显示(重新渲染组件)&#xff0c;也就是有状态组件&…

ASP.NET Core 3.1系列(29)——System.Text.Json实现JSON的序列化和反序列化

1、前言 在Web开发中&#xff0c;JSON数据可以说是无处不在。由于具有轻量、易读等优点&#xff0c;JSON已经成为当前主流的数据传输格式。在ASP.NET Core 3.0之前&#xff0c;大多数项目都会使用Newtonsoft.Json组件来实现JSON的序列化和反序列化操作&#xff0c;而从ASP.NET…

《王道》操作系统整理

操作系统第1章 OS概述第1节 OS基本概念第2节 OS发展与分类第3节 OS运行机制和体系结构1.3.1 操作系统的运行机制1. 时钟管理2. 中断机制3. 原语4. 系统资源管理或系统控制的数据结构及处理1.3.2 中断和异常1.3.3 系统调用第2章 进程管理第3章 内存管理第4章 文件管理第5章 IO管…

【8】SCI易中期刊推荐——计算机 | 人工智能(中科院4区)

🚀🚀🚀NEW!!!SCI易中期刊推荐栏目来啦 ~ 📚🍀 SCI即《科学引文索引》(Science Citation Index, SCI),是1961年由美国科学信息研究所(Institute for Scientific Information, ISI)创办的文献检索工具,创始人是美国著名情报专家尤金加菲尔德(Eugene Garfield…