⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 opti3.m

📁 关于最佳算法的实现
💻 M
字号:
function [y]=Opti3(N,S)
P=[ 0.0900    0.3600    0.0900    0.3600    0.0100    0.0400    0.0100    0.0400;
    0.3150    0.1350    0.3150    0.1350    0.0350    0.0150    0.0350    0.0150;
    0.1080    0.4320    0.0720    0.2880    0.0120    0.0480    0.0080    0.0320;
    0.3780    0.1620    0.2520    0.1080    0.0420    0.0180    0.0280    0.0120;
    0.0500    0.2000    0.0500    0.2000    0.0500    0.2000    0.0500    0.2000;
    0.1750    0.0750    0.1750    0.0750    0.1750    0.0750    0.1750    0.0750;
    0.0600    0.2400    0.0400    0.1600    0.0600    0.2400    0.0400    0.1600;
    0.2100    0.0900    0.1400    0.0600    0.2100    0.0900    0.1400    0.0600;
    ];

a=[0.9 0.1;0.5 0.5;0.2 0.8];
b=[0.5 0.5;0.6 0.4;0.7 0.3];

if N==1
    h(1,1:3,1:8)=0;
    h(2,1,1)=0.1;
    h(2,1,2)=0.1;  
    h(2,1,3)=0.1;
    h(2,1,4)=0.1;
    h(2,1,5)=0.5;
    h(2,1,6)=0.5;
    h(2,1,7)=0.5;
    h(2,1,8)=0.5;
    h(2,2,1)=0.5;
    h(2,2,2)=0.5;
    h(2,2,3)=0.4;
    h(2,2,4)=0.4;
    h(2,2,5)=0.5;
    h(2,2,6)=0.5;
    h(2,2,7)=0.4;
    h(2,2,8)=0.4;
    h(2,3,1)=0.8;
    h(2,3,2)=0.3;
    h(2,3,3)=0.8;
    h(2,3,4)=0.3;
    h(2,3,5)=0.8;
    h(2,3,6)=0.3;
    h(2,3,7)=0.8;
    h(2,3,8)=0.3;
    
    for q=1:3  
        flag(q)=0;
        for j=1:8
            flag(q)=flag(q)+S(j)*h(2,q,j);
        end
    end
    w=[0 0 0;0.9 1 0.8];
    flagy(1)=flag(1)*w(2,1);
    flagy(2)=flag(2)*w(2,2);
    flagy(3)=flag(3)*w(2,3);
    y=max(flagy);
else
    Prf=[1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 0,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,0,1,0,1,0,1,0,1];
    %Pr的第1个参数是是否判断成功:1是不成功,2是成功;第2个参数是是动作:1是信道1,2是信道2,3是信道3;第3个参数是状态j
    for n=1:2
        for q=1:3
            for j=1:8
                Pr(n,q,j)=Prf(24*(n-1)+8*(q-1)+j);
            end
        end
    end
    for n=1:2%是否成功
        for q=1:3%动作
            for j=1:8
                S1(n,q,j)=0;
                for i=1:8
                    S1(n,q,j)=S1(n,q,j)+S(i)*P(i,j)*Pr(n,q,j);
                end
            end
        end
    end
    for n=1:2
        for q=1:3
            b(n,q)=0;
            for i=1:8
                for j=1:8
                    b(n,q)=b(n,q)+S(i)*P(i,j)*Pr(n,q,j);
                end
            end
        end
    end
    for n=1:2
        for q=1:3
            for j=1:8
                S1(n,q,j)=S1(n,q,j)/b(n,q);
            end
        end
    end
    w=[0 0 0;0.9 1 0.8];
    for q=1:3
        flag(q)=0;
        for i=1:8
            for j=1:8
                for n=1:2
                    flag(q)=flag(q)+S(i)*P(i,j)*Pr(n,q,j)*(w(n,q)+Opti3(N-1,S1(n,q,:)));
                end
            end
        end
    end
    y=max(flag);
end

%稳态分布 S=[0.2121    0.2424    0.1768    0.2020    0.0424    0.0485    0.0354 0.0404];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -