导入第三方库

import numpy as np
from numpy import random
import matplotlib.pyplot as plt
import random%matplotlib inline# 解决中文乱码
plt.rcParams["font.sans-serif"]=["KaiTi"]
plt.rcParams["font.family"]="sans-serif"# 解决符号无法显示的问题
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题# 让图表变成矢量形式,,显示更清晰
%config InlineBackend.figure_format="svg"

e^x的麦克劳林展开式

f(x)=e^x
=f(0)+ f′(0)x+ f″(0)x ²/ 2!+...+ fⁿ(0)x^n/n!+Rn(x)
=1+x+x^2/2!+x^3/3!+...+x^n/n!+Rn(x) 其中 f(0)= f′(0)=...= fⁿ(0)=e^0=1。

如果f(x)在点x=x0具有任意阶导数,则幂级数

称为f(x)在点x0处的泰勒级数。

最终结果

一步步实现

分析

由泰勒公式的性质可知,y=e^x的图形其实是由许许多多其他函数的图形渐渐逼近,最终才形成了y=e^x函数的图形。

在绘图的时候,我们不仅要绘制出y=e^x的图形,还需要绘制出其他函数的图形,要将这个逼近的过程展现出来。

1.生成y=e^x函数的图像


2.生成其他函数的图像

在生成其他函数的图像的时候,由于这些函数之间存在着一定的规律,一步一步地生成过于繁琐又显得愚蠢,所以我们可以采用循环的方式来实现。

# x轴数据
x=np.linspace(1,4,80)  # 等差数列  1~4中间取80个点def calcY(n,x):"""y轴上的数据"""y=1for i in range(1,n):y+=x**i/np.math.factorial(i)  # x^i/i!return ydef moniPlot(n,x):"""生成图像"""# 定义一个颜色集合colors=["g","b","black","cyan","lightgreen","yellow","deeppink","darkorchid"]"""绘制原函数的图像"""# 原函数y=np.exp(x)# 画出原函数的图像并进行标记plt.plot(x,y,"r-",linewidth=2,label="e^x")# 麦克劳林展开添加到图像上for i in range(2,n):y=calcY(i,x)# 随机选择一种颜色color=random.choice(colors)# 线型line_style="--"  # 虚线# 画图像plt.plot(x,y,color=color,linewidth=2,linestyle=line_style)# 添加注释plt.text(1.5,calcY(10,3.8),"Maclaurin series of e^x",size=12)# 将标记绘制图例,位置位于中间左侧plt.legend(["e^x","nearly e^x"],loc="center left")plt.show()# 调用生成图像
moniPlot(10,x)

这是最终的结果

总结

  • 定义x轴的数据
# x轴数据
x=np.linspace(1,4,80)  # 等差数列  1~4中间取80个点
  • 绘制原函数y=e^x的图像
"""绘制原函数的图像"""
# 原函数
y=np.exp(x)
# 画出原函数的图像并进行标记
plt.plot(x,y,"r-",linewidth=2,label="e^x")
  • 绘制其他函数的图像
    1.定义一个专门用来生成y轴数据的函数
# y轴上的数据
def calcY(n,x):"""专门用来生成y轴上的数据n:函数的最高次数+1=nx:x轴上的数据"""y=1for i in range(1,n):y+=x**i/np.math.factorial(i)  # x^i/i!return y

2.绘制其他函数的图像

def moniPlot(n,x):"""生成图像"""# 定义一个颜色集合colors=["g","b","black","cyan","lightgreen","yellow","deeppink","darkorchid"]# 麦克劳林展开添加到图像上for i in range(2,n):y=calcY(i,x)# 随机选择一种颜色color=random.choice(colors)# 线型line_style="--"  # 虚线# 画图像plt.plot(x,y,color=color,linewidth=2,linestyle=line_style)# 添加注释plt.text(1.5,calcY(10,3.8),"Maclaurin series of e^x",size=12)# 将标记绘制图例,位置位于中间左侧plt.legend(["e^x","nearly e^x"],loc="center left")plt.show()

3.循环绘制其他函数的图像

  • 将图像显示出来即可,再为图像添加一点点的细节
  • 这是最终的结果

最终的代码

import numpy as np
from numpy import random
import matplotlib.pyplot as plt
import random%matplotlib inline# 解决中文乱码
plt.rcParams["font.sans-serif"]=["KaiTi"]
plt.rcParams["font.family"]="sans-serif"# 解决符号无法显示的问题
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题# 让图表变成矢量形式,,显示更清晰
%config InlineBackend.figure_format="svg"# x轴数据
x=np.linspace(1,4,80)  # 等差数列  1~4中间取80个点# y轴上的数据
def calcY(n,x):y=1for i in range(1,n):y+=x**i/np.math.factorial(i)  # x^i/i!return ydef moniPlot(n,x):"""生成图像"""# 定义一个颜色集合colors=["g","b","black","cyan","lightgreen","yellow","deeppink","darkorchid"]"""绘制原函数的图像"""# 原函数y=np.exp(x)# 画出原函数的图像并进行标记plt.plot(x,y,"r-",linewidth=2,label="e^x")# 麦克劳林展开添加到图像上for i in range(2,n):y=calcY(i,x)# 随机选择一种颜色color=random.choice(colors)# 线型line_style="--"  # 虚线# 画图像plt.plot(x,y,color=color,linewidth=2,linestyle=line_style)# 添加注释plt.text(1.5,calcY(10,3.8),"Maclaurin series of e^x",size=12)# 将标记绘制图例,位置位于中间左侧plt.legend(["e^x","nearly e^x"],loc="center left")plt.show()# 调用生成图像
moniPlot(10,x)

15.模拟e^x的麦克劳林展开式相关推荐

  1. 使用matplotlib模拟e^x的麦克劳林展开式

    使用matplotlib模拟下e^x的麦克劳林展开式,用plt画图一开始觉得还是挺有意思的. import matplotlib.pyplot as plt import numpy as np im ...

  2. 【MATLAB编程实战】【例题实战】绘制曲面、曲线,求解偏导,计算极值点,二重积分,曲线积分,收敛性,麦克劳林展开式

    欢迎关注,本专栏主要更新MATLAB仿真.界面.基础编程.画图.算法.矩阵处理等操作,拥有丰富的实例练习代码,欢迎订阅该专栏!(等该专栏建设成熟后将开始收费,快快上车吧~~) [MATLAB编程实战] ...

  3. 用泰勒展开式(麦克劳林展开式)计算ln2(C++版本)

    公式一: (该图片来自网络) 本人在VS2017中,对于以1.0e-5为单位的误差下只能将误差精确到2.0e-5. 代码如下: #include<iostream> #include< ...

  4. e^x的麦克劳林展开式

    /* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: fibnacci.cpp * ...

  5. 麦克劳林展开式_数学家麦克劳林与牛顿的故事

    数学家麦克劳林 麦克劳林(Colin Maclaurin1698年2月-1746年6月), 苏格兰数学家,麦克劳林是18世纪英国最具有影响的数学家之一. 01 麦克劳林是一位牧师的儿子,半岁丧父,9岁 ...

  6. sinx麦克劳林展开式_一分钟数学——sinx的泰勒展开

    原标题:一分钟数学--sinx的泰勒展开 文/无忧公主(责编:许兴华) [来源]公众号:无忧公主的数学时间 大家可能对直角坐标系的接触比较少,三角函数也可能不能熟练运用,更没有仔细 " 研究 ...

  7. 初等函数的麦克劳林级数展开+逆函数的展开求法

    麦克劳林级数: tanx=x+x3/3+(2x5)/15+O(x6)(Taylorseries)tanx=x + x^3/3 + (2 x^5)/15 + O(x^6) (Taylor \ serie ...

  8. cosx的麦克劳林级数是多少_cosx泰勒展开

    泰勒公式在数学中,泰勒公式是一个用函数在某点的信息描述其附近取值的公式....的项用乘法分配律写在一起,剩余的项写在一起,刚好 是 cosx,sinx 的展开式...... 任取 在闭区间 上 阶连续 ...

  9. 【洛谷P4841】城市规划【指数型生成函数】【麦克劳林级数】【多项式对数】

    传送门 题意:求NNN个点的带标号无向连通简单图的个数. N≤130000N \leq 130000N≤130000 这个问题的主要矛盾在于连通 这个并不好表示,但可以用这个表示出不要求连通的方案数 ...

最新文章

  1. 程序员如何优雅地使用 Mac? - OS X - 知乎
  2. python读取文件某一行-python和shell读取文件某一行
  3. Linux常用命令(简单的常用)
  4. 8 张图,看你是否理解 Java
  5. MySQL的未来在哪?
  6. request.params 用法
  7. 云计算学习总结(2)——服务器场景漏洞修复
  8. 数据库dba_DBA延伸数据库指南
  9. Android:手把手教你打造可缩放移动的ImageView(下)
  10. 西南科技大学OJ45 分数求和
  11. RS485接口上的PTC
  12. kali之破解隔壁老王wifi
  13. 微信小程序实现vtt视频字幕
  14. 部署NanoDet实现火焰检测
  15. 每周一品 · 直线电机(Linear Motor)中的磁性材料
  16. Linux服务器运行状况全面监测
  17. 基于C语言设计的学籍管理系统
  18. 向量相似度的计算和向量夹角余旋的关系
  19. 接触角测量案例分享及问题解答(一)
  20. 听飞哥聊聊ISO 26262的那些事儿

热门文章

  1. duang,duang!!duang.java.mustReadTips
  2. Swift 3DTouch开发 自定义ShortcutItems
  3. 目标检测(四)——xml快速上手(可完整实现)
  4. 盘点2018年云计算热点:云原生、全栈云,云大脑,谁能独占鳌头?
  5. 深入解析Tensor索引中的Indexing Multi-dimensional arrays问题
  6. 安卓日志点击无反应_日志MIUI 12 20.9.22 内测更新综合资讯 “小米营业厅”内测...
  7. 《科研伦理与学术规范》 (全部习题答案免费分享 )2020年
  8. aria2+AriaNg 打造自己的离线下载/云播平台
  9. android targetsdkversion 版本 调低,targetSdkVersion 更改的问题
  10. linux 1.0 如何运行,观点|Linux 1.0 之旅:回顾这一切的开始