How to generate bivariate random normally distributed 3d array?

2 ビュー (過去 30 日間)
Nainsi Gupta
Nainsi Gupta 2023 年 5 月 31 日
コメント済み: Nainsi Gupta 2023 年 6 月 1 日
mu= [0 0]
mu = 1×2
0 0
sigma= [1 0.25; .25 1]
sigma = 2×2
1.0000 0.2500 0.2500 1.0000
mvnrnd(mu,sigma,100)
ans = 100×2
0.7082 0.2195 -2.3244 -1.9734 -1.8774 0.1327 -0.2237 1.3953 -0.7603 0.4547 -1.2340 0.0526 0.8824 0.1801 0.1022 0.6385 -1.9730 -1.0128 1.3997 0.4401
I want to generate a 3-by-2-by-100 array which is normally distributed with given mu and sigma. Please help me how can I do this?
  5 件のコメント
Torsten
Torsten 2023 年 5 月 31 日
編集済み: Torsten 2023 年 5 月 31 日
Yes, but don't you agree that for the k-dimensional case (see below), it's much more handy for access to have the realizations in a (n x k) matrix instead of a whatever matrix ?

サインインしてコメントする。

採用された回答

John D'Errico
John D'Errico 2023 年 5 月 31 日
編集済み: John D'Errico 2023 年 5 月 31 日
Um, trivial?
You apparently want to generate 300 samples of a bivariate normal. So generate them as a 300x2 array, Then reshape and permute them into the desired 3x2x100 array.
mu= [0 0];
sigma= [1 0.25; .25 1];
X = mvnrnd(mu,sigma,300);
X = reshape(X,[3,100,2]);
X = permute(X,[1 3 2]);
size(X)
ans = 1×3
3 2 100
  3 件のコメント
Nainsi Gupta
Nainsi Gupta 2023 年 6 月 1 日
Thank you so much for the explaination

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by