?? randu1.m
字號(hào):
%%線性同余偽隨機(jī)數(shù)發(fā)生器
%輸入格式舉例:randmtx=randU1(10,10,10000,0,1)
%row為 偽隨機(jī)數(shù)的行數(shù) col偽隨機(jī)數(shù)陣列的列數(shù) seed為種子
%k1k2為隨機(jī)數(shù)的范圍 k1=0 k2=1表示結(jié)果從0-1之間的數(shù)
function randmtx=randU1(row,col,seed,k1,k2)%%沒有輸入seed值時(shí)用自己默認(rèn)的數(shù)做種子
if nargin<3
seed=1973272912;
end
m=2^31-1;%很大的一個(gè)素?cái)?shù)
a=630360016;
randmtx(1,1)= mod(a*seed,m);
for i=2:row*col
randmtx(1,i)=mod((a*randmtx(1,i-1)),m);
end
randmtx=reshape(randmtx,row,col);
if nargin<4
randmtx=randmtx/m;
return
end
randmtx=randmtx/m;%將數(shù)據(jù)縮放到要求的區(qū)間
randmtx=randmtx*(k2-k1)+k1;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -