HOW TO SELECT ELEMENTS FROM DIFFERENT MATRIX

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 commentaires

If harmony.Sol is three 1 x 6 matrices, are they stored as a cell array, or is harmony a non-scalar structure with the three arrays being harmony(1).Sol, harmony(2).Sol, harmony(3).Sol ?
Is it correct that the rule is that each element must be chosen from one of the three elements in the corresponding positions of the Sol arrays?
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)
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.

Connectez-vous pour commenter.

 Réponse acceptée

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

Plus de réponses (0)

Catégories

En savoir plus sur Data Types dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by