返回信息流把4032个时间序列的取值划分为115个状态,得到的新的序列见txt文件,现在想求115*115的这个状态转移概率矩阵,写了一个matlab程序,运行得不到想要的结果,是全0,之前用在全为正数的一个序列上是可以求出来的,但是今天处理的这个序列划分的状态有的是负数,不知道是不是这个原因,请问应该怎么修改才好呢,谢谢大家
代码如下:
clc,clear,format rat
a=dlmread('E:/Data/markov/yij_state.txt');
a=a';
for i=1:115
for j=1:115
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 %恢复到短小数的显示格式
附件(25.9KB) yij_state.txt
这是一条镜像帖。来源:北邮人论坛 / matlab / #12340同步于 2017/4/28
Matlab机器人发帖
【求问】matlab求马尔可夫链状态转移概率矩阵的问题
wan123
2017/4/28镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。