Filter löschen
Filter löschen

HOW TO SELECT ELEMENTS FROM DIFFERENT MATRIX

1 Ansicht (letzte 30 Tage)
PRANAY DISHAN
PRANAY DISHAN am 8 Feb. 2018
Kommentiert: PRANAY DISHAN am 8 Feb. 2018
Hello every one an trying to select elements from three different matrices which is stored in a template but the output is not correct. Following is my requirment.
harmony.Sol %template consisting of three 1x6 matrices as shown below:
[1 2 3 4 5 6]
[7 8 9 1 2 3]
[ 4 5 6 7 8 9]
i need to select random elements from above three matrices and create a new 1x6 matrix. probably named harmony.new. Ex: ans= [7 5 3 1 5 9]
Please help me on this, my codes are not giving the correct output. Thank u...
  3 Kommentare
PRANAY DISHAN
PRANAY DISHAN am 8 Feb. 2018
yes sir,
harmony(1).Sol gives [1 2 3 4 5 6]
harmony(2).Sol gives [7 8 9 1 2 3]
harmony(3).Sol gives [ 4 5 6 7 8 9]
and i have to create new 1x6 matrix from them probably named harmony.new. Ex: ans= [7 5 3 1 5 9] (which is randomly chosen from harmony.Sol)
Walter Roberson
Walter Roberson am 8 Feb. 2018
If harmony is a non-scalar structure, then which entry in harmony should get the new value? It is not possible to have a structure which is non-scalar with respect to some fields but scalar with respect to other fields.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 8 Feb. 2018
val = vertcat(harmony.Sol);
nchoice = size(val,1);
ncol = size(val,2);
ridx = randi(nchoice, 1, ncol);
harmony(173).new = val((0:ncol-1)*nchoice + ridx);

Weitere Antworten (0)

Kategorien

Mehr zu Structures finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by