如何用 python 画常值函数?

问答 浅唱 ⋅ 于 2019-06-18 17:07:11 ⋅ 最后回复由 青牛 2019-06-18 17:24:38 ⋅ 3021 阅读

例如用matplotlib画 f(x)=e

成为第一个点赞的人吧 :bowtie:
回复数量: 1
  • 青牛 海汼部落创始人,80后程序员一枚,曾就职于金山,喜欢倒腾技术做产品
    2019-06-18 17:24:38

    import numpy as np
    import math
    import matplotlib as mpl
    import matplotlib.pyplot as plt

    def calc_e_small(x):
    n = 10
    f = np.arange(1, n+1).cumprod()
    b = np.array([x]*n).cumprod()
    return np.sum(b / f) + 1

    def calc_e(x):
    reverse = False
    if x < 0: # 处理负数
    x = -x
    reverse = True
    ln2 = 0.69314718055994530941723212145818
    c = x / ln2
    a = int(c+0.5)
    b = x - a*ln2
    y = (2 * a) calc_e_small(b)
    if reverse:
    return 1/y
    return y

    if name == "main":
    t1 = np.linspace(-2, 0, 10, endpoint=False)
    t2 = np.linspace(0, 3, 20)
    t = np.concatenate((t1, t2))
    print(t) # 横轴数据
    y = np.empty_like(t)
    for i, x in enumerate(t):
    y[i] = calc_e(x)
    print('e^', x, ' = ', y[i], '(近似值)\t', math.exp(x), '(真实值)')

    print '误差:', y[i] - math.exp(x)

    plt.figure(facecolor='w')
    mpl.rcParams['font.sans-serif'] = [u'SimHei']
    mpl.rcParams['axes.unicode_minus'] = False
    plt.plot(t, y, 'r-', t, y, 'go', linewidth=2)
    plt.title(u'Taylor展式的应用 - 指数函数', fontsize=18)
    plt.xlabel('X', fontsize=15)
    plt.ylabel('exp(X)', fontsize=15)
    plt.grid(True)
    plt.show() 
暂无评论~~
  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
Ctrl+Enter