Generate n pairs of random integers, whose 0 <= pairwise_sum <= k
Ältere Kommentare anzeigen
I want to generate n pairs of integers {(x_i, y_i)}, such that x_i + y_i <= k. One way I can think of is to generate one pair at a time
pairs = zeros(n,2)
for i=1:n
pairs(i,1) = randi(0,k);
pairs(i,2) = randi(0,k - pairs(i,1));
end
But, certainly, for loop is not favorable in matlab. Also, I'm not sure if that guarantees randomness either. I wonder if there's any existing function or a better way to do that?
Variation: consider a constraint that we want m% of generated pairs have pairwise_sum <= h ( h is some number < k). My approach won't work in this case. I'd love to get some hints to solve that as well.
Many thanks,
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!