I wrote a Monte Carlo simulation of the 2D Lotka-Volterra model on a discrete lattice (with periodic boundary conditions). A video that I produced (which images the system after some number of monte carlo steps) can be found here. I am wondering, what is the best way to track the spatial "speed" of the oscillations of the two species across the lattice from one video frame to the next?

My model is done with the following rates, where $A$ denotes a predator node on the lattice, $B$ denotes a prey node on the lattice, and $\emptyset$ denotes an empty space on the lattice:

$ A + B \xrightarrow{\lambda} A+A,\;(predator\;consuming\; prey)\\ B + \emptyset \xrightarrow{\sigma} B+B,\;(prey\;growing\;into\;empty\;adjacent\;spaces)\\ A \xrightarrow{\mu} \emptyset,\;(predators\;dying\;off)\\ $

For each Monte Carlo step I choose one space on the lattice randomly, do a cumsum(each neighbor's rate./sum(neighbors' rates)), and then generate a random number to decide which of the three reactions above will be done. In my video, $\lambda=1.6$, $\sigma=50$, and $\mu=0.1$.

I am not sure if I should try to track a certain shape in each frame and measure its deformation, or if I should try to use some other sort of spatial metric. To be clear, the data for each video frame is stored in an N by N matrix (with values 0 for empty, 1 for predator, and 2 for prey), so I am not limited to an analysis of the video I provided, it is only for explanation. My source code for this project can be found here.

What is the typical way of approaching this sort of problem, perhaps someone can provide a reference?


  • $\begingroup$ Do you mind putting your model directly in the question (to be clearer)? What do you mean by oscillations? I watched your video and I don't quite understand. I can see some "waves", but not what I would call oscillations; am I wrong? $\endgroup$
    – Kirill
    Dec 7, 2014 at 22:56
  • $\begingroup$ I've added a link, the main script is LotkaVolterra.m, it calls the other functions. The code should run right out of the box. Wait, I just realized, did you mean to write the model explicitly, I took your comment to mean the source code, but I suppose that isn't very clear. Yes the "waves" are what I am referring to as the oscillations, what would you suggest is a better name for them? $\endgroup$
    – Loonuh
    Dec 7, 2014 at 23:05
  • $\begingroup$ I imagine he meant the model in terms of formulas. $\endgroup$ Dec 8, 2014 at 13:02
  • $\begingroup$ I've added the rates and the reactions that I used in my model. $\endgroup$
    – Loonuh
    Dec 9, 2014 at 6:01


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.