必威体育Betway必威体育官网
当前位置:首页 > IT技术

python画出e指数函数的图像

时间:2019-08-15 02:44:20来源:IT技术作者:seo实验室小编阅读:82次「手机版」
 

指数函数图像

这里用Python逼近函数y = exp(x);同样使用泰勒函数去逼近:

exp(x) = 1 + x + (x)^2/(2!) + .. + (x)^n/(n!) + ...

#!/usr/bin/python
#  -*- coding:utf-8 -*-

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()

相关阅读

线性回归 - 机器学习多元线性回归 - 一步一步详解 - P

目录 数据导入 单变量线性回归 绘制散点图 相关系数R 拆分训练集和测试集 多变量线性回归 数据检验(判断是否可以做线性回归) 训练

Python3学习3 格式化 % format

一、%格式化 1.整数输出 %d # 十进制 %o # 八进制 %x # 十六进制 print("%d"%23) # 23 print("%o"%23) # 27 print("%x"%

聊聊c#与Python以及IronPython

简单说说这个意义。做了很久的c#,突然发现Python火了。就看看,估计这篇博文有点长,有点长,尽量包括主要的东西,还有点杂,浏览吧,选择自

爬取全书网 小说数据 python全网站 11标签代码

爬取流程: 第一步:第二步:第三步:第四步:第五步:代码流程: import requests import re import json from lxml import etree impo

【python基础】sort函数

1. 基本用法 1)仅对于list类型的数据 a.sort() 按升序 a.sort(reverse = True) 按降序 2)对于所有可排序类型的数据 sorted(a, reve

分享到:

栏目导航

推荐阅读

热门阅读