I am rewriting a monte carlo simulation model in Matlab with an emphasis on readability. The model involves many particles (represented as (x,y,z)) following a random walk over a small set of states with certain termination probabilities. The information relevant for output is the number of particles that terminate in a given state.
The simulation requires enough particles that running it for each particle individually is cost prohibitive. Vectorization seems to be the way to get performance out of Matlab, but is there any idiomatic way of creating a vectorized version of this simulation in Matlab?
I'm beating my head against the wall to accomplish this - I've even tried creating a nStates x nParticles matrix representing each particle-state combination, but this approach quickly spirals out of control (readability) since particles bounce from state to state independently of one another. Should I just bite the bullet and switch to a language more suitable for this?