求马尔科夫模型的转移矩阵

来源:互联网 发布:java学生成绩录入 编辑:程序博客网 时间:2024/05/22 05:01

用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 0
原创粉丝点击