matlab表示二分法

我想知道这两行代码表示什么意思。我的理解是将PSpn二等分,PSpn(1)表示前半部分,PSpn(2)表示后半部分。但是感觉代码不是这么个意思??求解答!!
PSpn = [Ps, PSpn(2)];
PSpn = [PSpn(1), Ps];

问题相关代码
PSpn = [0, 1e10];   

U1_U2 = U1 - U2;

for iter = 1: 1000
    Ps = mean(PSpn);
    Fps = P01_fPsPiRi(Ps, P1, R1) + P01_fPsPiRi(Ps, P2, R2);
    if U1_U2 == Fps
        return;
    end
    if U1_U2 > Fps
        PSpn = [Ps, PSpn(2)];
    else
        PSpn = [PSpn(1), Ps];
    end
    if PSpn(2) - PSpn(1) < 1e-10
        Ps = mean(PSpn);
        break;
    end
end