0
mu=[1 2 3 4 5]';
sigma=[1 1 1 1 1]';
N=100; %Number of samples for each mu
R=normrnd(mu,sigma,?)
normrndを使用すると、ループなしで(Rは5×100行列になるように)mu値ごとにN個のサンプルを生成できますか?MATLABループなしの配列の通常の乱数生成
mu=[1 2 3 4 5]';
sigma=[1 1 1 1 1]';
N=100; %Number of samples for each mu
R=normrnd(mu,sigma,?)
normrndを使用すると、ループなしで(Rは5×100行列になるように)mu値ごとにN個のサンプルを生成できますか?MATLABループなしの配列の通常の乱数生成
ノーマルドを知りません。
は古い関数randnで、私のようなものを使用しているでしょう:
repmat(mu,N,1) + randn(N,length(mu))*diag(sigma)
EDIT
ああ、あなたは転置5x100は、それが動作
repmat(mu,1,N) + diag(sigma)*randn(length(mu),N)
ですたいです。私が提案をすることができるなら、 'repmat'の代わりに' bsxfun'を使うことを考えてください: 'bsxfun(@plus、mu、randn(N、numel(mu))* diag(sigma));'ここでのパフォーマンスの比較:http://stackoverflow.com/questions/29719674/comparing-bsxfun-and-repmat - 一般的に、 'bsxfun'は' repmat'で同等のコードを使うよりも高速かつ効率的です。 – rayryeng