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 Particle & Nuclear Physics 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!