# Generation of random number which needs to be passed to an array

1 view (last 30 days)
Ganesh Kini on 15 Jun 2020
Answered: Rik on 15 Jun 2020
I have 2 variables named A and B
A has the range from -0.2 to 2.2
B has the range from -3.2 to 0.2
I need all the possible to combinations of A and B in 0.1 steps
for example
FROM
0.1 0.2
-0.1 -0.3 and so on
How do I randomly generate this?

James Tursa on 15 Jun 2020
By randomly, do you mean you want to randomly pick one pair from all possible pairs? Or do you mean you want to generate the set of all possible pairs but then randomly mix them up?
Ganesh Kini on 15 Jun 2020
I want all the sets of randomly mixed values and then I need to iterate them
So, there are two questions
1) How do I randomly pick one set of A and B and then pass it on the array?
2) How do I iterate all the sets of values without using for loop?

Rik on 15 Jun 2020
You can generate all combinations and mix them up like this:
[A,B]=ndgrid(-0.2:0.1:2.2,-3.2:0.1:0.2);
new_order=randperm(numel(A));
A=A(new_order);
B=B(new_order);
Now you can feed it to your next function. Whether you are able to avoid for-loops depends on what function you are trying to call. (and it may not be the optimal strategy to do so at any cost)