MATLAB: How to create a set of random numbers random number generator Hi, how I could generate random number 90 times probability space are 1, 2, 3 totally 90 random numbers got 21 of 1, 38 of 2 and 31 of 3 Could you give me some solutions? Thanks Joy Best Answer You could use randperm to randomly arrange a vector of exactly those numbers:>> vec = [repmat(1,21,1);repmat(2,38,1);repmat(3,31,1)]; % or use REPELEM>> vec = vec(randperm(numel(vec)));And checking that it fulfills your requirements:>> numel(vec)ans = 90>> nnz(vec==1)ans = 21>> nnz(vec==2)ans = 38>> nnz(vec==3)ans = 31 Related SolutionsMATLAB: How to generate the random number with restrictions Your question is not very clear, what is a random number "as normal"?Anyway, to get random numbers from a specific pool of numbers, generate random indices that you use to pick numbers from the pool:pool = 1:4:25; %pool of numbers pick numbers = pool(randi(numel(pool), 1, 28)) %choose 28 values from the pool at random. MATLAB: How to generate specific number of specific integers within a range This is easy with randperm:>> vec = repmat(1:4,1,2);>> out = vec(randperm(numel(vec)))out = 2 3 2 4 1 1 4 3>> out = vec(randperm(numel(vec)))out = 1 4 2 3 2 1 3 4>> out = vec(randperm(numel(vec)))out = 2 1 2 4 3 3 4 1 Related QuestionCounter odd numbers in ‘randi’Creating a Wordscramble using matlabRandom numbersHow to randomly select variable from the range of numbersI have the following arrayRandom number between 0 and 1
Best Answer