ran1.m

来自「本程序实际上是把模拟退火过程引入单纯形法来求多元函数的极值」· M 代码 · 共 36 行

M
36
字号
function f=ran1(idum)  %似乎没问题
iy=0;
if idum<=0|~iy
    if -idum<1
        idum=1;
    else idum=-idum;
    end
    for j=32+8:-1:1
        k=idum/127773;
        idum=16807*(idum-k*127773)-2836*k;
        if idum<0
            idum=idum+2147483647;
        end
        if j<32
            iv(j)=idum;
        end
    end
    iy=iv(1);
end
k=idum/127773;
idum=16807*(idum-k*127773)-2836*k;
if idum<0
    idum=idum+2147483647;
end
j=round(iy/(1+(2147483647-1)/32));
iy=iv(j);
iv(j)=idum;
temp=(1.0/2147483647)*iy
RNMX=1.0-(1.2e-7);
if  temp>RNMX
    f=RNMX;
    return ;
else
    f=temp;
    return ;
end

⌨️ 快捷键说明

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