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.

 Respuesta aceptada

Jan
Jan el 20 de Jul. de 2017
Editada: Jan el 20 de Jul. de 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.

Más respuestas (2)

Adam
Adam el 20 de Jul. de 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.

1 comentario

shane watson
shane watson el 20 de Jul. de 2017
Thank you, Adam, for your time. As it increases code length, but applicable in my work.

Iniciar sesión para comentar.

John BG
John BG el 20 de Jul. de 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

1 comentario

shane watson
shane watson el 20 de Jul. de 2017
Hi BG it gives an error since A2 is undefined for me??

Iniciar sesión para comentar.

Categorías

Etiquetas

Aún no se han introducido etiquetas.

Preguntada:

el 20 de Jul. de 2017

Comentada:

el 20 de Jul. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by