## How to simulate basic markov chain

### John (view profile)

on 12 Oct 2012

Hi,

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.

Regards

John

## Products

No products are associated with this question.

### Doug Hull (view profile)

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`

#### Join the 15-year community celebration.

Play games and win prizes!

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