楼主: matlab菜鸟
7084 1

[程序分享] 用matlab求转移概率矩阵 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

小学生

42%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
33 点
帖子
2
精华
0
在线时间
11 小时
注册时间
2014-7-23
最后登录
2016-3-17

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
求大神指导:
用matlab怎么求一堆数据的状态转移矩阵(用于预测未来发展状况)?求具体例子和详细程序。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MATLAB 转移概率矩阵 matla atlab 转移概率 matlab 转移概率矩阵

沙发
matlab-007 发表于 2015-3-1 20:15:24 |只看作者 |坛友微信交流群
参考一下这个例子吧
两个色子。一个是好的,一个是偏一面的。
仍色子的几率矩阵是trans转移矩阵是emis
>> trans = [0.95,0.05; 0.10,0.90];
>> emis = [1/6,  1/6,  1/6,  1/6,  1/6,  1/6;
1/10, 1/10, 1/10, 1/10, 1/10, 1/2;];

seq代表的是一个序列,不是写上去的,而是用代码算出来的。
[seq,  states] = hmmgenerate(1000,trans,emis);
1000是步长值。
得到seq,seq在此是 Columns 1 through 12 ....

     2     5     1     5     6     4     3     3     5     4     6     5...

以下略,太长....

再用
[trans, emis] = hmmestimate(seq,states);
得到trans 和emis的值。
>> trans

trans =

    0.9501    0.0499
    0.1069    0.8931

>> emis

emis =

    0.1733    0.1630    0.1733    0.1557    0.1733    0.1615
    0.1129    0.0784    0.1066    0.1254    0.1066    0.4702

可以看出,非常接近设定值。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-18 00:41