Clear Filters
Clear Filters

Generate a random data with fix mean

2 views (last 30 days)
I have a matrix with 360 elements and I need to expand it to 3600 elements with the same mean and standard deviation.

Accepted Answer

Wayne King
Wayne King on 7 Jan 2014
Edited: Wayne King on 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 Comments
Image Analyst
Image Analyst on 7 Jan 2014
Of course repmat() also meets the requirements (or lack thereof).
vector3600 = repmat(vector360, [1, 10]);

Sign in to comment.

More Answers (2)

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

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

Categories

Find more on Random Number Generation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!