Azzera filtri
Azzera filtri

HOW TO SELECT ELEMENTS FROM DIFFERENT MATRIX

1 visualizzazione (ultimi 30 giorni)
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 Commenti
PRANAY DISHAN
PRANAY DISHAN il 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 il 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.

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 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);

Più risposte (0)

Categorie

Scopri di più su Structures in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by