из-за одного проекта мне приходится использовать псевдослучайные числа с нормальным распределением.
В этом отношении я обычно записываю это:
nn_u = complex((normrnd(0,1.0,size(H_u))),(normrnd(0,1.0,size(H_u))));
nn_v = complex((normrnd(0,1.0,size(H_u))),(normrnd(0,1.0,size(H_u))));
nn_w = complex((normrnd(0,1.0,size(H_u))),(normrnd(0,1.0,size(H_u))));
size(H_u) = [4096,1];
Таким образом, у меня нет реального доступа к начальному номеру. Я ожидаю, что при использовании вышеупомянутой формы будет 6 начальных значений, что означает одно различное начальное число для любого из шести случаев, когда функция normrnd
вызывается.
Что я хотел бы сделать в данный момент, так это сгенерировать шесть независимых представлений, как это произошло выше, только с одной исходной точкой, которую я могу выбрать из диапазона [1,999]
.
Чтобы добиться этого, я думал действовать следующим образом:
n = 4096;
nn_tmp = normrnd(0,1,[n*6,1]);
nn_u = complex(nn_tmp(1:n,1),nn_tmp(n+1:2*n,1));
nn_v = complex(nn_tmp(2*n+1:3*n,1),nn_tmp(3*n+1:4*n,1));
nn_w = complex(nn_tmp(4*n+1:5*n,1),nn_tmp(5*n+1:6*n,1));
Но таким образом у меня нет прямого доступа к семени; Я даже не знаю, имеет ли та операция, которую я бы проделал, какое-либо сильное теоретическое обоснование.
Любая поддержка будет приветствоваться.
RandStream
иrng
для интереса: blogs.mathworks.com/loren/2011/07/07/, но я думаю, что оба варианта вам подойдут - person Dan   schedule 05.04.2013