关于马尔科夫链的期望收益在matlab中的实现的作业例题如下(from 天津大学 制造系统仿真)
这里的R和P方针需要自己新定义变量
下面给出matlab代码
% P为转移矩阵,R为回报矩阵
i=input('状态数');
n=input('希望得到几期的收益');
vExpect=[];
%这里初始化第一行的期望收益
for y=1:i
vExpect=[vExpect,P(y,:)*(R(y,:))'];
end
%这里对于接下来的每一期状态进行预测
for x=2:n
vNew=[];
for y=1:i
vNew=[vNew,P(y,:)*(R(y,:)+vExpect(x-1,:))'];
end
vExpect=[vExpect;vNew];
end
第一次循环其实是为了初始化后面对应收益的一个容器,这里vExpect行期望收益对应的期数,列对应初始状态