我有一个矩阵,它有 2 列,x 和 y 坐标。我想计算均方位移 - 这是在给定时间内从起点移动到另一个点的平方距离,在许多不同的时间点上平均 - 假设所有时间间隔都相等。
所以工作公式是:
MSD=average(r(t)-r(0))^2 where r(t) is position at time t and r(0) is position at time 0.
所以我用来计算的代码是:
#Create a vector to save the square of the distance between successive
#locations
distsq<- numeric(length=nrow(mat))
#Calculate and assign these values
for (i in 2:nrow(mat))
{
distsq[i]<-((mat[i,1]-mat[i-1,1])^2)+((mat[i,2]-mat[i-1,2])^2)
}
#Calculate the mean sq distance for this value of n
MSD[k]<- mean(distsq)
这mat
是 x 和 y 值的矩阵。
所以这个公式在两个连续点之间的时间被认为是常数时有效。但是假设每 2 个坐标之间的时间不同,那么我该如何合并该组件来计算 MSD?