资源简介

随机过程中 由初始分布和一步转移矩阵 得到最终的状态 由Matlab程序可直接运行 能够成功运行的

资源截图

代码片段和文件信息

function multidistribution=test()
Qmatrix=input(‘请输入速率转移矩阵例如[-2 1 1;1 -4 3;2 2 -4]\n‘);
Pmatrix=input(‘请输入初始概率分布矩阵例如[0.5;0.2;0.3]\n‘);
Tmatrix=[];
%求出Tmatrix,用来累计i分布
tmp=0;
for i=1:1:length(Qmatrix)
    tmp=0;
    for j=1:1:length(Qmatrix)
        if(i==j)
            tmp=tmp+0;
        elseif(i~=j)
            tmp=tmp+Qmatrix(ij);
        end
        Tmatrix(ij)=tmp/(-Qmatrix(ii));
    end     
end
multidistribution=[];
%alltimedistribution=[];获取所有时间列表
for n=1:1:6
    %随机产生一个变量,确定从哪一个状态开始
    r=unifrnd(01);
    tmp=0;
    for i=1:1:length(Pmatrix)
        tmp=tmp+Pmatrix(i);
        if r>tmp
            continue;
        elseif r            break;
        end
    end
    %此时的i是初始状态
    %用一个矩阵来记录下状态的变化和在某一状态停留的时间
    totaltime=0;
    timedistribution=linspace(00length(Pmatrix));%用来记录各个状态时间分布情况
    distribution=linspace(00length(Pmatrix));%用来记录比例分布情况
    for t=1:1:10^n
        r1=unifrnd(01);
        r2=unifrnd(01);
        time=1/Qmatrix(ii)*log(r1);%求出状态停留时间下面求出下一次要跳到的状态
        for k=1:1:length(Tmatrix)
            if r2>Tmatrix(ik)
                continue;
            elseif r2<=Tmatrix(ik)
                break;
            end
        end
        timedistribution(i)=timedistribution(i)+time;
        totaltime=totaltime+time;
        %记录上一次执行的数据到矩阵state中去
        i=k;
    end
    for i=1:1:length(Pmatrix)
            distribution(i)=timedistribution(i)/totaltime;
    end
    format long
    alltime=totaltime
    format short
    %alltimedistribution=[alltimedistribution;totaltime]
    %已经求得一次distribution分布
    multidistribution=[multidistribution;distribution];
end
return;
%一组测试数据
%    0.2570    0.6436    0.0994
%    0.3589    0.3158    0.3253
%    0.4068    0.2576    0.3357
%    0.4326    0.2584    0.3090
%    0.4350    0.2618    0.3031
%    0.4357    0.2602    0.3041
%    0.4349    0.2607    0.3044


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2098  2014-12-01 12:10  随机过程\test.m

     文件       1595  2014-12-01 12:10  随机过程\test2.m

     目录          0  2015-01-19 15:43  随机过程

----------- ---------  ---------- -----  ----

                 3693                    3


评论

共有 条评论