MATLAB Answers


How to simulate basic markov chain

Asked by John
on 12 Oct 2012


I'm fairly new to matlab. Would anybody be able to show me how I would simulate a basic discrete time markov chain?

Say for example I have a transition matrix with 3 states, A, b and C, how could I simulate say 20 steps starting from state A?

    A   B  C
  A .3 .2. .5
  B .2 .1. .7
  C .1 . 5 .4

Any help would be greatly appreciated.





No products are associated with this question.

1 Answer

Answer by Doug Hull
on 12 Oct 2012
Edited by Doug Hull
on 12 Oct 2012

Are you looking to do a simple matrix multiply?

v = [1 0 0]
m = [0.3 0.2 0.5; 0.2 0.1 0.7; 0.1 0.5 0.4]
v = v * m

You can also do this in a loop.

If you want to square the matrix element by element

m = m.^2

but more likely you wish to square the matrix

m = m^2

You can do this for higher powers:

m = m^20

And putting it together:

    >> v = v*m^20
v =
      0.1652    0.3217    0.5130


Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!