Kehl, a fast (no loop) method to compute MSD

Version 1.1.0.0 (2.01 KB) by maxime
Kehl computes the mean squared displacements (MSD), with no loop. Fully vectorized code.
622 Downloads
Updated 22 May 2013

View License

MSD is a measure of the displacement over a certain interval of time, used for instance to analyze trajectories and tell if it's ballistic, diffusive, sub-diffusive, etc.
To compute MSD, all the possible time intervals within the trajectory need to be considerer. The simplest way uses nested loops :
the first loop runs over the time points, the other loop runs over the possible interval from each time point.

Thoses nested loops are a nightmare for fast computation, especially for long trajectories.

Kehl suppresses the loops, and computes all the squared distance at once, then sorts and averages them out.

Cite As

maxime (2024). Kehl, a fast (no loop) method to compute MSD (https://www.mathworks.com/matlabcentral/fileexchange/41858-kehl-a-fast-no-loop-method-to-compute-msd), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Operating on Diagonal Matrices in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.1.0.0

A mispelling in a comment

1.0.0.0