numpy.exp
-
用例:
numpy.exp(x, /, out=None, *, where=True, casting=‘same_kind’, order=‘K’, dtype=None, subok=True[, signature, extobj]) = <ufunc ‘exp’> -
功能:
对输入数组的每个元素计算指数函数。 -
参数
变量名 | 数据类型 | 功能 |
---|---|---|
x | 数组型变量 | 输入数据。 |
out | n维数组,None,n维数组组成的元组,可选参数 | 指定结果存储的位置。若提供此参数,其维度必须与输入数组广播后的维度一致。若不提供此参数或参数值为None,将返回新开辟的数组。若此参数为元组,其长度必须和返回值的个数保持一致。 |
where | 数组型变量,可选参数 | True 用于标记进行函数计算的位置,False 用于标记此位置不进行函数计算,直接将输入值原样返回,通常用默认值即可。 |
- 返回值
变量名 | 数据类型 | 功能 |
---|---|---|
out | n维数组或标量 | 对x中每个元素求指数函数的计算结果。如果x为标量,那out也为标量。 |
-
备注
无理数e
也被称为欧拉数,是自然对数的底数,其近似值为2.718281。ln
(如果 x = ln y = log e y x=\ln y=\log_e y x=lny=logey,那么 e x = y e^x=y ex=y)。对于实数输入值,exp(x)
的返回值通常为正数。
对于复数输入值x = a + ib
,我们的计算公式为 e x = e a e i b e^x=e^ae^{ib} ex=eaeib。第一部分 e a e^a ea为实部,其计算方法同上。第二部分 e i b e^{ib} eib也可写为 cos b + i sin b \cos b+i\sin b cosb+isinb。 -
示例:
在复平面上绘制exp(x)
的幅值和相位:
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = np.linspace(-2*np.pi, 2*np.pi, 100)
xx = x + 1j * x[:, np.newaxis] # 复平面上的a + ib
out = np.exp(xx)
plt.subplot(121)
plt.imshow(np.abs(out), extent=[-2*np.pi, 2*np.pi, -2*np.pi, 2*np.pi], cmap='gray')
plt.title('exp(x)的幅值')
plt.subplot(122)
plt.imshow(np.angle(out), extent=[-2*np.pi, 2*np.pi, -2*np.pi, 2*np.pi], cmap='hsv')
plt.title('exp(x)的相位')
plt.show()