我想用这里提到的阻塞方案blocking scheme for correlations计算均方位移。其主要思想是将数据存储在链接中提到的具有一定长度的块中。我有形状的数据(101214,3),有10帧包含11214个三维数据点。所以现在我想把每两帧存储在一个块中,然后用它们的运行平均值来计算均方位移。有人知道如何实现这个方法吗
这是数据file,这是我用来计算正常msd的代码
import numpy as np
import numba as nb
@nb.njit
def get_msd_traj_nb1(p):
result = np.zeros_like(p)
deltastop = p.shape[1]
for traj in range(p.shape[0]):
for dim in range(p.shape[2]):
for delta in range(1, deltastop):
thisresult = 0
for i in range(delta, deltastop):
thisresult += (p[traj,i,dim] - p[traj,i-delta,dim])**2
result[traj,delta,dim] = thisresult / (deltastop-delta)
return result
m = get_msd_traj_nb1(dataset)
print(m.shape)
目前没有回答
相关问题 更多 >
编程相关推荐