randmcg.m

来自「《MATLAB数值计算》最新版本的全部代码Numerical.Computing」· M 代码 · 共 32 行

M
32
字号
function r = randmcg(p,q)
%RANDMCG   Multiplicative congruential uniform random number generator.
%  Based on the parameters used by MATLAB version 4.
%  The statement
%     r = randmcg
%  generates a single uniformly distributed random number.
%  The statement
%     r = randmcg(m,n)
%  generates an m-by-n random matrix.
%  The statement
%     clear randmcg
%  will cause the generator to reinitialize itself.
%  The function can not accept any other starting seed.
%
%  See also RANDGUI, RANDSSP.

persistent m a c x
if isempty(x)
   m  = 2^31-1;
   a = 7^5;
   c = 0;
   x = 1;
end

if nargin < 1, p = 1; end
if nargin < 2, q = p; end
r = zeros(p,q);
for k = 1:p*q
   x = rem(a*x + c, m);
   r(k) = x/m;
end

⌨️ 快捷键说明

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