How to generate 100 sample points of a 3-state Markov chain with initial prob vector and transition probability matrix using inverse transform method on matlab.

P = [0.3 0.1 0.1; 0.3 0.9 0.1; 0.4 0 0.8]; % Transition Matrix
P0 = [0.1 0.9 0]; %initial probability Vector
Then I dont know how to do the rest. Please help me.

 Accepted Answer

Here's a start:
P = [0.3 0.1 0.1; 0.3 0.9 0.1; 0.4 0 0.8]; % Transition Matrix
P0 = [0.1 0.9 0]; %initial probability Vector
C0 = cumsum(P0);
M = length(P0);
N = 100;
x = nan(N,1);
x(1) = (M + 1) - sum(rand <= C0);
for k = 2:N
x(k) = ...
end

3 Comments

what does nan(N,1) function do btw? Can you explain. I never use matlab before. thanks.
@jndmwx: then you need to learn to use the documentation. You can search the documentation using any good internet search engine. I just searched for "MATLAB nan", and this is the first result that was returned:
"For example, NaN(3,4) returns a 3-by-4 array of NaN values".

Sign in to comment.

More Answers (0)

Categories

Find more on Mathematics and Optimization in Help Center and File Exchange

Asked:

on 30 Nov 2015

Edited:

on 30 Nov 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!