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.

 Akzeptierte Antwort

Jan
Jan am 20 Jul. 2017
Bearbeitet: Jan am 20 Jul. 2017

1 Stimme

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.

Weitere Antworten (2)

Adam
Adam am 20 Jul. 2017

2 Stimmen

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 Kommentar

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

Melden Sie sich an, um zu kommentieren.

John BG
John BG am 20 Jul. 2017

0 Stimmen

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 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Kategorien

Tags

Noch keine Tags eingegeben.

Gefragt:

am 20 Jul. 2017

Kommentiert:

am 20 Jul. 2017

Community Treasure Hunt

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

Start Hunting!

Translated by