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

1 view (last 30 days)
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?
  2 Comments
James Tursa
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
Ganesh Kini on 15 Jun 2020
Edited: Ganesh Kini on 15 Jun 2020
Thank you for your reply
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?

Sign in to comment.

Answers (1)

Rik
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)

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!