我有一个轨迹文件,从模拟的20,000帧,每帧之间5 ps的时间,我想要做的是计算扩散在二维(x和y轴)。但是要计算二维分子的扩散,首先要计算被研究分子的均方位移。MSD计算分子在随机游动中探索系统所需的平均时间。
我对python编程非常陌生,我真的需要一些帮助来开始这个问题并解决这个问题。希望能得到积极的回应。
发布于 2015-07-07 10:53:18
那么,MSD和它听起来完全一样,它是均方位移,所以你需要做的是找出每个位置的差值(r(t + dt) -r(t)),然后把它平方,最后取平均值。首先,你必须从x和y中找到r,这很容易。从现在开始我会假设你使用的是numpy。
import numpy as np
r = np.sqrt(xdata**2 + ydata**2)
diff = np.diff(r) #this calculates r(t + dt) - r(t)
diff_sq = diff**2
MSD = np.mean(diff_sq)这是计算MSD的一般方法,那么你可以和布朗运动这样的东西进行比较,其中MSD = 4Dt大约是二维的。
https://stackoverflow.com/questions/31264591
复制相似问题