Selecting one array out of three.

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.

 Accepted Answer

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

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.

1 Comment

Thank you, Adam, for your time. As it increases code length, but applicable in my work.

Sign in to comment.

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

1 Comment

Hi BG it gives an error since A2 is undefined for me??

Sign in to comment.

Tags

No tags entered yet.

Asked:

on 20 Jul 2017

Commented:

on 20 Jul 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!