Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
让窃听者猜测哪个图形是正确的,并计算需要多少次?(MATLAB)_Matlab_For Loop_Random_Counter_Gaussian - Fatal编程技术网

让窃听者猜测哪个图形是正确的,并计算需要多少次?(MATLAB)

让窃听者猜测哪个图形是正确的,并计算需要多少次?(MATLAB),matlab,for-loop,random,counter,gaussian,Matlab,For Loop,Random,Counter,Gaussian,这个想法是,有四种情况:HH,LL,LH和HL。其中每一个都基于标准的正常RNG(randn(n,1))。窃听者进行测量并记录;其中一个与四个相同。我试图编写一个程序,这样它可以计算窃听者破案的次数,偏差在1%以内。例如,HH的第一个点可能与LL的第一个点相同;这就是为什么窃听者需要继续进行测量,直到可能性被消除,只剩下一种情况。每个案例有1000分: n = 1000; 我的方法是,考虑测量案例和四个案例之间的差异: diffHH = M - HH; diffLL = M - LL; dif

这个想法是,有四种情况:HH,LL,LH和HL。其中每一个都基于标准的正常RNG(randn(n,1))。窃听者进行测量并记录;其中一个与四个相同。我试图编写一个程序,这样它可以计算窃听者破案的次数,偏差在1%以内。例如,HH的第一个点可能与LL的第一个点相同;这就是为什么窃听者需要继续进行测量,直到可能性被消除,只剩下一种情况。每个案例有1000分:

n = 1000;
我的方法是,考虑测量案例和四个案例之间的差异:

diffHH = M - HH;
diffLL = M - LL;
diffHL = M - HL;
diffLH = M - LH;
然后,我编写了四个for循环来检查每种情况:

for guesses = 1:1:n
    if (abs(diffHH(guesses)) <= 0.01) 
        if (abs(diffHH(guesses)) <= 0.01) && (abs(diffLL(guesses)) <= 0.01)
            continue;
        elseif (abs(diffHH(guesses)) <= 0.01)&& (abs(diffHL(guesses)) <= 0.01)
            continue;
        elseif (abs(diffHH(guesses)) <= 0.01) && (abs(diffLL(guesses)) <= 0.01)
            continue;
        else
            disp('Eve guesses HH');
            break;
        end
    end
end
for guesses = 1:1:n
    if (abs(diffLL(guesses)) <= 0.01) 
        if (abs(diffLL(guesses)) <= 0.01) && (abs(diffHH(guesses)) <= 0.01)
            continue;
        elseif (abs(diffLL(guesses)) <= 0.01)&& (abs(diffHL(guesses)) <= 0.01)
            continue;
        elseif (abs(diffLL(guesses)) <= 0.01) && (abs(diffLH(guesses)) <= 0.01)
            continue;
        else
            disp('Eve guesses LL');
            break;
        end
    end
end
for guesses = 1:1:n
    if (abs(diffHL(guesses)) <= 0.01) 
        if (abs(diffHL(guesses)) <= 0.01) && (abs(diffHH(guesses)) <= 0.01)
            continue;
        elseif (abs(diffHL(guesses)) <= 0.01)&& (abs(diffLL(guesses)) <= 0.01)
            continue;
        elseif (abs(diffHL(guesses)) <= 0.01) && (abs(diffLH(guesses)) <= 0.01)
            continue;
        else
            disp('Eve guesses HL');
            break;
        end
    end
end
for guesses = 1:1:n
    if (abs(diffLH(guesses)) <= 0.01) 
        if (abs(diffLH(guesses)) <= 0.01) && (abs(diffHH(guesses)) <= 0.01)
            continue;
        elseif (abs(diffLH(guesses)) <= 0.01)&& (abs(diffLL(guesses)) <= 0.01)
            continue;
        elseif (abs(diffLH(guesses)) <= 0.01) && (abs(diffHL(guesses)) <= 0.01)
            continue;
        else
            disp('Eve guesses LH');
            break;
        end
    end
end
对于猜测=1:1:n

如果(ABS(Deffh(猜测))< P>“猜测”为每个循环重新启动;考虑每个情况下使用不同的“猜测”名称,例如“Guess”、“GuestSLL”等“< /P>”,而不是用四个不同的变量编写<四>代码> < /COD>循环,为什么不写一个“代码> DIMM < /代码>变量,有4个条目?(沿第二或第三维度,无论多大,
m-HH
),在这四个维度上循环?可以节省复制代码块四次的时间