boltzmann.m

来自「有监督自组织映射-偏最小二乘算法(A supervised self-organ」· M 代码 · 共 25 行

M
25
字号
function [AcceptChange] = Boltzmann(Value,iter,MLKP);

if upper(MLKP.BoltzmannMode)=='EXP'
    BoltzmannFact=exp(MLKP.BoltzmannK*(Value-2)*iter/MLKP.MaxIter);
    if (BoltzmannFact > rand)
        AcceptChange='Y';
    else
        AcceptChange='N';
    end
elseif upper(MLKP.BoltzmannMode)=='THR'
    Val=(Value-1)^2;
    if (Val > MLKP.BoltzmannThreshold)
        AcceptChange='Y';
    else
        InvTemp=MLKP.BoltzmannK*iter/MLKP.MaxIter;
        BoltzmannFact=exp(-(Val-MLKP.BoltzmannThreshold)*InvTemp);
        if (BoltzmannFact < 1+rand*(exp(MLKP.BoltzmannThreshold)-1))
            AcceptChange='Y';
        else
            AcceptChange='N';
        end
    end
else
    AcceptChange='Y';
end

⌨️ 快捷键说明

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