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

使用matplotlib模拟下e^x的麦克劳林展开式,用plt画图一开始觉得还是挺有意思的。

import matplotlib.pyplot as plt
import numpy as np
import random

‘‘‘
e^x的麦克劳林展开式:
e^x= f(0)+ f′(0)x+ f″(0)x 2/ 2!+...+ f?(0)x^n/n!+Rn(x)
=1+x+x^2/2!+x^3/3!+...+x^n/n!+Rn(x)
‘‘‘

# 阶乘函数
def factorial(n):
    x = 1
    for i in range(1,n+1):
        x = x * i
    return x

# y值函数
def consY(n,x):
    y = 1
    for i in range(1,n):
        y += x**i/factorial(i)
    return y

# 生成图像
def moniPlot(n,x):
    # 定义一个颜色集合
    colors = [‘g‘,‘b‘,‘black‘,‘cyan‘,‘lightgreen‘,‘yellow‘,‘deeppink‘,‘darkorchid‘]
    plt.figure()

    # 原函数
    y = np.e**x
    # 画原函数图像并进行标记
    plt.plot(x,y,‘r-‘,linewidth=2,label=‘e^x‘)

    # 麦克劳林展开添加到图像上
    for i in range(2,n):
        y = consY(i,x)
        # 随机选择颜色
        color = colors[random.randint(0,len(colors)-1)]
        linestyle = ‘--‘
        # 画图像,并对最后一个进行标记
        if i == n:
            plt.plot(x,y,color=color,linewidth=1,linestyle=linestyle,label="nearly e^x")
        else:
            plt.plot(x,y,color=color,linewidth=1,linestyle=linestyle)
        plt.plot(x,y,color=color,linewidth=1,linestyle=linestyle)
    #添加注释
    plt.text(1.2, consY(10,3.9),"Maclaurin‘s series of e^x ",size=12)

    # 将标记绘制图例,位置为于中间左侧
    plt.legend([‘e^x‘,"nearly e^x"], loc = ‘center left‘)  

    plt.show()

# 定义 x , y
x = np.linspace(1,4,80)
# 原函数
# y = np.e**x
# Maclaurin展开 3项
# y1 = consY(2,x)
# 展开 4项
# y2 = consY(3,x)
# tylor 5项
# y3 = consY(4,x)

# 调用生成图像
moniPlot(10,x)

# 关闭图
plt.close()

运行代码,plt展示的结果如下(展开式的项数越多,越接近原函数):

原文地址:https://www.cnblogs.com/thsk/p/8330009.html

时间: 2024-10-10 13:21:17

使用matplotlib模拟e^x的麦克劳林展开式的相关文章

zoj 3625 D - Geek's Collection(正项无穷级数,麦克劳林展开式,2015年10月AC)

D - Geek's Collection Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Submit Status Description The word geek is a slang term, with different meanings ranging from "a computer expert or enthusiast" to "a carni

缓和曲线10麦克康奈尔

第1章 缓和曲线之麦克康奈尔曲线

webots自学笔记(八)麦克纳母轮移动机器人平台,可控制摄像头视角

原创文章,来自"博客园,_阿龙clliu" http://www.cnblogs.com/clliu/,转载请注明原文章出处. 觉得基础的东西说的差不多了,之后就分享一些好玩的仿真例子了.如果有软件的问题可以私聊我,我也是很愿意交个朋友啥的,但是我能力也有限. 这次做了一个麦克纳母轮的移动平台,robomaster比赛里面常用到的种小车,由于本科学校有点渣,比赛玩不起,就玩玩仿真咯.轮子是从KUKA机器人的一个仿真例子中拆下来的,建一个麦轮还是需要很大工作量的,所以直接抄了例子里的,不

3Ds Max制作克劳族少女教程

作者:Andrius Balciunas 使用软件:3ds Max, ZBrush 3ds Max下载:http://www.xy3dsmax.com/xiazai.html ZBrush下载:http://www.zbrushcn.com/xiazai.html 嗨,我是Andrius Balciunas,接下来我要跟你们分享我的这幅 "克劳族少女"图片的创作历程.建议你们去泡一杯咖啡或者泡杯茶,这样你会觉得阅读起来也是一种享受.我希望你能从中找到一些新的.对自己有用的东西! 简介

【麦当劳肯德基】是美国在中国的基因武器试验场

有些时候,一提肯德基,我真的控制不住自己的情绪.在这里,我只是以一种十分客观的态度把肯德基的一些内幕告诉大家,只希望每个中国人... 能真正认识肯得基.我慢慢说我的经历吧. 本人是个在外漂泊的大学生,说来惭愧,在外也认识了不少朋友.我的一个朋友的父亲是中国银行某市的一个高层领导,他和美国的肯德基之间有些合作的关系,一次高层领导之间的互访使我朋友的父亲有幸参观了肯德基的鸡厂. 那是个对外严重保密的地方,任何人都不能随便入内的.那天我和朋友也正在上自习,朋友突然接到他父亲的电话,是从美国打来的越洋电

麦当劳打工第七天

      今天是在麦当劳打工的第七天,时间是下午1点到晚上7点.今天是在服务区工作,负责大堂的卫生.在大堂上班要带上腰兜,上面装有两块擦布还有一瓶清洁剂.两个擦布分别用来擦桌子和椅子.每当有客人用完餐以后,要过去吧盘子收拾掉,将垃圾倒进垃圾桶里,并且将桌椅擦拭干净.每张桌子上用餐后的餐盘规定不能超过三分钟.要时刻注意垃圾袋是不是满了,再满了的情况下要及时更换.在顾客不多的时候要注意清洁卫生,先把地扫一圈,然后在开始墩地.在墩地的时候要立上“小心地滑”的标示牌,以免因为地面滑导致顾客摔倒.每次倒

麦当劳打工第四天

     今天是我在麦当劳打工的第四天,今天是坐公交车来的.上班时间是早上7点到中午12点.今天经理安排我在服务区工作,负责点单.因为之前都是在产区工作的,所以对于服务区的工作不是很熟悉.在点餐的位置上最基本的要求首先就是熟练掌握“芭蕾三部曲”,就是在见到顾客的第一时间举手示意并对顾客说“您好,喜欢您来”,然后放下手臂并对客人说“请您这边点餐”.其实这个我觉得没啥难度,关键是点餐的时候我总是找不到键位,所以点餐的速度会有些影响,不过好在有经常在服务区工作的伙伴在一旁帮助我.然后每次点完餐以后如果

麦当劳打工第三天

     今天是我在麦当劳上班的第三天,时间是上午10点到下午5点.今天还是在产区工作,今天是负责炸区.炸区主要负责将食品炸熟,炸区首先要知道炸炉如何使用,一共有6个炸炉,分别炸9种不同的食品,有的食品是共用一炉的,但是每次炸的时候要进行调炉,因为每种食品的油炸时间是不一样的.基本上每种食物都要预先准备两盘,在用光一盘的时候,会有人对我说什么什么食品空一,然后我会根据值班经理给出的每盘的存量表油炸食品.每种食品所用的炸篮也是不一样的,所以要记清每个炸篮是装什么食品的.因为有些食品要是用错了炸篮可

麦当劳优惠券客户端应用源码完美版

麦当劳优惠券客户端应用源码完美版,该源码比较完整的,基本实现了常用的点餐订餐的功能了,大家可以参考一下吧. 应用说明: 能省钱的必备软件,占用资源少,起码可装个备用. *可直接使用,不需要打印,非常方便* 选好你需要的套餐,向柜台服务员展示即可 全国麦当劳通用.上海.广州.张家口.绵阳.青岛.深圳. 天津.北京.武.汕头.宝鸡.南京.呼和浩特.四川泸州.山西太原,以上城市已有热心网友验证可用电子券杭州.厦门麦当劳亲测可用 <ignore_js_op> 133302589.jpg (59.39