使用f
和x
,
In [173]: f
Out[173]: array(1387)
In [174]: x
Out[174]: array([ 20404266.1330007])
exponent1
并exponent2
进行计算和比较。
exponent1
计算如下:
In [183]: exponent1 = 1j * 2 * np.pi * f[..., np.newaxis, np.newaxis] * x
exponent2
计算如下:
In [186]: exponent2 = np.array([[[ 1.+0.j]]])
In [187]: exponent2 *= x[np.newaxis, ...]
In [188]: exponent2 *= f[..., np.newaxis, np.newaxis]
In [192]: exponent2 *= 1j * 2 * np.pi
exponent1
并且exponent2
很接近:
In [195]: np.allclose(exponent1, exponent2)
Out[195]: True
但它们的指数不是:
In [196]: np.allclose(np.exp(exponent1), np.exp(exponent2))
Out[196]: False
有没有办法让他们的指数也接近?我希望后者更接近前者,因为
In [198]: np.allclose(np.exp(exponent1), np.exp(1j * 2 * np.pi * 1387 * 20404266.1330007))
Out[198]: True