# How to generate random number within a sum limit?

29 views (last 30 days)
Arnab Pal on 7 Nov 2017
Answered: Roger Stafford on 7 Nov 2017
Generate 5 random numbers, where their sum should be less/equal to 50.

Birdman on 7 Nov 2017
while true
A=randi([1 15],5,1);
if(sum(A)<=50)
break;
end
end
disp(A)
disp(sum(A))
##### 2 CommentsShowHide 1 older comment
Birdman on 7 Nov 2017
Edited: Birdman on 7 Nov 2017
while true
t=15;
A=t*rand(5,1);
if(sum(A)<=50)
break;
end
end
disp(A)
disp(sum(A))
You can change t.

Roger Stafford on 7 Nov 2017
If the numbers are supposed to be any five positive integers, do this:
b = true;
while b
x = 50*randi(5,1);
b = sum(x)>50;
end
If the numbers can be any non-negative real numbers, change the third line above to:
x = 50*rand(5,1);

### 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!

Translated by