我有一个复数向量(FFT的结果),我只想通过另一个向量中的因子来缩放复数的实部。在
cplxarr= np.array([1+2j, 3+1j, 7-2j])
factarr= np.array([.5, .6, .2])
# desired result of cplxarr * factarr :
# np.array([.5+2j 1.8+1j 1.4-2j])
(是的,它是关于人类在特定环境下的听觉频率响应。)
显然,与上述向量相乘也会缩放虚部。在
我如何设置factarr
,为了达到预期的结果,我必须做什么操作?如果有可能的话,也就是说,不需要分离实部和虚部,缩放实部并重新组合成一个新的复向量。在
这样可以做到:
不知道这是不是最好的方法。在
至少对我来说(OS-X 10.5.8、python 2.7.3、numpy 1.6.2),这个版本的速度大约是另一个使用
^{pr2}$np.vectorize
的版本的两倍:使用python提供的}之间似乎没有太大区别:
np.complex
和{当前计时排名的领先者(由eryksun在下面的评论中提出)
并证明其有效:
如果您想在适当的地方执行操作,这显然会更快(因此可以不复制)。在
相关问题 更多 >
编程相关推荐