Generate a random data with fix mean

10 vues (au cours des 30 derniers jours)
Ahmed Hussein
Ahmed Hussein le 7 Jan 2014
Commenté : Image Analyst le 7 Jan 2014
I have a matrix with 360 elements and I need to expand it to 3600 elements with the same mean and standard deviation.

Réponse acceptée

Wayne King
Wayne King le 7 Jan 2014
Modifié(e) : Wayne King le 7 Jan 2014
You don't say the size of your matrix, you just tell us the number of elements. You also do not give us any information about the distribution -- is it Gaussian?
Xstart = randn(360,1);
meanX = mean(Xstart);
stdX = std(Xstart);
Xend = [Xstart ; stdX*randn(3600-360,1)+meanX];
  2 commentaires
Ahmed Hussein
Ahmed Hussein le 7 Jan 2014
Thank you very much
Image Analyst
Image Analyst le 7 Jan 2014
Of course repmat() also meets the requirements (or lack thereof).
vector3600 = repmat(vector360, [1, 10]);

Connectez-vous pour commenter.

Plus de réponses (2)

Ahmed Hussein
Ahmed Hussein le 7 Jan 2014
The matrix is [1,360] and the distribution is Gaussian
Thank you very much

Ahmed Hussein
Ahmed Hussein le 7 Jan 2014
Thank you very much

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by