我有一个numpy数组,它基本上是以1000 Hz采样一小时的256个通道记录的振荡相位。因此,我得到的numpy数组大小为256 x 5000000
。我想计算所有通道对的Phase locking value
(行)。锁相值是振荡耦合程度的度量。这里有一种有效的方法,但显然很耗时。我有128GB内存可用。
x = np.array([]) # 256 x 5000000
Nchans = 256
op = np.empty([Nchans, Nchans])
op[:] = np.nan
for a in range(Nchans):
for b in range(Nchans):
op[a,b] = np.abs(np.nansum(np.exp(np.complex(0,1)*(x[a] - x[b]))))/x.shape[1]
有什么办法可以加快计算速度吗?
1条答案
按热度按时间eqqqjvef1#