阅读背景:

MATLAB 随机过程仿真

来源:互联网 

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) = Y(i);
endxlab = 1:1:100;
stairs(xlab,X)
axis([0 100 0 10])
title('离散时间马尔可夫链仿真')
xlabel('步长 n')
ylabel('状态 x(n)')
legend('样本函数 1')P = [0.2, 0.3,



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: