randu2.m

来自「伪随机数的产生程序 有m序列还有同余序列等等 用与嵌入信息位置的选择或密钥的制作」· M 代码 · 共 30 行

M
30
字号
%%小数开方伪随机数发生器
%输入格式说明 randmtx=randU2(10,10,10000,0,1)
%%row为 伪随机数的行数  col伪随机数阵列的列数  seed为种子
%k1k2为随机数的范围    k1=0  k2=1表示结果从0-1之间的数
function randmtx=randU2(row,col,seed,k1,k2)
if nargin<3
    seed=11;
end
m=4;
seed2=sqrt(seed);
while seed2<1
    seed2=seed2810;
end
n=round(seed2/m);%向最近整数园整
x=(10^n)*seed2;
randmtx(1,1)=x-floor(x);
for i=2:row*col
    temp=sqrt(abs(randmtx(1,i-1)));
    while temp<1
        temp=temp*10;
    end
    n=round(temp/m);
    x=(10^n)*temp;
    randmtx(1,i)=(x-floor(x));
end
randmtx=reshape(randmtx,row,col);
if nargin <4
    return
end
randmtx=randmtx*(k2-k1)+k1;

⌨️ 快捷键说明

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