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

New to MATLAB?

How to simulate basic markov chain

Asked by John

John (view profile)

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.





John (view profile)


No products are associated with this question.

1 Answer

Answer by Doug Hull

Doug Hull (view profile)

on 12 Oct 2012
Edited by Doug Hull

Doug Hull (view profile)

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


Doug Hull

Doug Hull (view profile)

Contact us