MATLAB 随机过程仿真
1.离散时间的马尔科夫链仿真
P = [0.2, 0.3, 0.5; 0.5, 0.1, 0.4; 0.6, 0.2, 0.2];
% 给出一步转移矩阵
S = [1, 2, 3];
n = 1;
% 给出状态空间 X
%初始时刻
N = 100; %迭代步数
i = 1;
U = rand;
Compare2 = sum(P(i,1:2));% 累加获得概率
Compare3 = sum(P(i,:));
if (U < P(i,1))
Y(i) = 1;
elseif ((U > P(i,1))&(U < Compare2))
Y(i) = 2;
elseif ((U > Compare2)&(U < Compare3))
Y(i) = 3;
end
X(1) = Y(i);
while (n < N)
i = X(n);
U = rand;
if (U < P(i,1))
Y(i) = 1;
elseif ((U > P(i,1))&(U < Compare2))
Y(i) = 2;
elseif ((U > Compare2)&(U < Compare3))
Y(i) = 3;
end
n = n+1;
X(n) =