Selecting one array out of three.
2 views (last 30 days)
Show older comments
I have three arrays, including A=[1 2 3 4 5 6 7 8 9 0 3 4 5 6]; B=[4 5 6 7 8 6 7 8 9 1 3 4 5 0]; C=[5 6 7 8 9 0 0 9 5 5 5 5 6 7]; Now I need to store one array in D i.e., D= any of one from three. Kindly help me out.
0 Comments
Accepted Answer
Jan
on 20 Jul 2017
Edited: Jan
on 20 Jul 2017
Or:
A = [1 2 3 4 5 6 7 8 9 0 3 4 5 6];
B = [4 5 6 7 8 6 7 8 9 1 3 4 5 0];
C = [5 6 7 8 9 0 0 9 5 5 5 5 6 7];
Pool = {A, B, C};
D = Pool{randi([1, numel(Pool)])}
This is flexible compared to the swicth method: The Pool can have different sized without the need to adjust the code.
More Answers (2)
Adam
on 20 Jul 2017
n = randi( 3 )
switch ( n )
case 1
D = A;
case 2
D = B;
case 3
D = C;
end
If your 3 arrays where all in a single named variable as e.g. columns of a 2d array it would be neater, but not so much with named arrays.
John BG
on 20 Jul 2017
Hi Shane
the best way to randomly choose one of those vectors with variable length is to put them in a cell
A=[1 2 3 4 5 6 7 8 9 0 3 4 5 6];
B=[4 5 6 7 8 9 1 3 4 5 0];
C=[5 6 7 8 9 0 0 9 5 5 5 5 6 7];
D=randi([1 numel(A2)],1,1)
if you find this answer useful would you please be so kind to consider marking my answer as Accepted Answer?
To any other reader, if you find this answer useful please consider clicking on the thumbs-up vote link
thanks in advance
John BG
See Also
Categories
Find more on Logical 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!