How o generate random integer value?
1 view (last 30 days)
Show older comments
Example:
I have used
A=randi([1 10],1,12)
output:
A=[ 1 9 1 6 7 8 3 7 9 7 8 5]
Is it possible to generate random integer values in interval [1 10], excluding 3, 6 and 8 from the interval having said that the size of the array 1 by 12 remains same?
0 Comments
Accepted Answer
John D'Errico
on 15 Jul 2020
Edited: John D'Errico
on 15 Jul 2020
You want to allow the numbers [1 2 4 5 7 9 10]. So just generate a random integer from 1 to 7. Then use that vector to index the allowed set.
allowed = [1 2 4 5 7 9 10];
A = allowed(randi(7,[1,12]));
If you have some more difficult set to allow, then use setdiff.
allowed = setdiff(1:10,[3 6 8]);
More Answers (1)
madhan ravi
on 15 Jul 2020
a = 1:10;
No_vals = [3, 6, 8];
A = setdiff(a, No_vals);
Wanted = A(randi(numel(A), [1, 12]))
See Also
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!