赞
踩
求马尔科夫模型的转移矩阵
用Matlab解决如下:
clc,clear,format rat
a=[ 4 3 2 1 4 3 1 1 2 3
2 1 2 3 4 4 3 3 1 1
1 3 3 2 1 2 2 2 4 4
2 3 2 3 1 1 2 4 3 1];
a=a’;a=a(:)’; %把矩阵a逐行展开成一个行向量
for i=1:4
for j=1:4
f(i,j)=length(findstr([i,j],a)); %统计子字符串’ij’的个数
end
end
ni=sum(f,2); %计算矩阵f的行和
phat=f./repmat(ni,1,size(f,2)) %求状态转移的频率
format %恢复到短小数的显示格式
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
结果如下:
phat =
2/5 2/5 1/10 1/10
3/11 2/11 4/11 2/11
4/11 4/11 2/11 1/11
0 1/7 4/7 2/7
喜欢 (1)or分享 (0)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。