2016-05-12 11 views
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ループなしの配列の通常の乱数生成

答えて

3

ノーマルドを知りません。

は古い関数randnで、私のようなものを使用しているでしょう:

repmat(mu,N,1) + randn(N,length(mu))*diag(sigma) 

EDIT

ああ、あなたは転置5x100は、それが動作

repmat(mu,1,N) + diag(sigma)*randn(length(mu),N) 
+0

ですたいです。私が提案をすることができるなら、 'repmat'の代わりに' bsxfun'を使うことを考えてください: 'bsxfun(@plus、mu、randn(N、numel(mu))* diag(sigma));'ここでのパフォーマンスの比較:http://stackoverflow.com/questions/29719674/comparing-bsxfun-and-repmat - 一般的に、 'bsxfun'は' repmat'で同等のコードを使うよりも高速かつ効率的です。 – rayryeng

関連する問題