Splitting a matrix in subsets??
Mostrar comentarios más antiguos
Dear experts, I have a scenario matrix from which I would like to generate a binary tree, the binary tree structure matrix is as follow:
if true
% code
M= [8 25 25 25 25 25;
8 25 36 36 36 36;
8 25 25 15 15 15;
8 25 36 50 50 50;
8 25 25 10 10 10;
8 25 25 6 6 6;
8 25 36 70 70 70;
8 25 25 3 3 3];
end
where 1st and 2nd row are mother scenarios and the rest are the branching scenarios. I would like to seperate this matrix to these two scenario that which rows is a subset of which mother row. so that the end result should be
if true
%
M1 = [8 25 25 25 25 25;
8 25 25 15 15 15;
8 25 25 10 10 10;
8 25 25 6 6 6;
8 25 25 3 3 3];
%
M2 = [8 25 36 36 36 36;
8 25 36 50 50 50;
8 25 36 70 70 70];
end
2 comentarios
Geoff Hayes
el 7 de Ag. de 2014
Editada: Geoff Hayes
el 7 de Ag. de 2014
Usman - in your example, M1 and M2 have three rows in common. How are you determining which row belongs to which mother row?
Usman Ali
el 11 de Ag. de 2014
Respuestas (2)
Iain
el 7 de Ag. de 2014
M = [8 25 25 25 25 25; 8 25 36 36 36 36; 8 25 25 15 15 15;
8 25 36 50 50 50; 8 25 25 10 10 10; 8 25 25 6 6 6;
8 25 36 70 70 70; 8 25 25 3 3 3];
M1 = M(1:2:(end-1),:);
M2 = M(2:2:(end),:);
5 comentarios
Iain
el 7 de Ag. de 2014
Change the 1:2:end-1 etc. with the appropriate list.
Usman Ali
el 7 de Ag. de 2014
Iain
el 7 de Ag. de 2014
To match your example:
The first list (for M1) is: [1 3 5 6 8]
The second list (for M2) is: [2 4 5 6 8]
Why that matches your example, I do not know.
Usman Ali
el 7 de Ag. de 2014
Iain
el 11 de Ag. de 2014
You need some logic that fills in the lists.
If the first list is defined by rows that have 25 in the 3rd column, then the first list is:
list1 = find(M(:,3) == 25);
Adam
el 11 de Ag. de 2014
M1 = M( M(:,3) == 25,:)
M2 = M( M(:,3) == 36,:)
would seem to do the job in that case though that assumes that column 3 contains the value that distinguishes the two branching paths, irrespective of the values in the other columns.
Categorías
Más información sobre Software Development Tools en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!