Matlab - ordenar matrices dependiendo del orden n que se filtran

   
Vista:

ordenar matrices dependiendo del orden n que se filtran

Publicado por lulu lourdesbuestan97@gmail.com (6 intervenciones) el 14/07/2017 15:18:52
buenos dias
mi pregunta es como formo una matriz ordenada con matrices que se van obteniendo es decir algo asi
tengo esta matriz

a=[56 34 13 54;
24 34 25 23;
35 76 43 34;
56 34 13 54;
56 34 45 65]
de esta quiero obtener la de la columna 2 los que son iguales a 34 y al mismo tiempo que no se pierdan las filas y asi obtener
a=[56 34 13 54;
24 34 25 23;
56 34 13 54;
56 34 45 65]

de esta matriz obtener en la columna1 los iguales a 56 sin que se pierdan las filas
a=[56 34 13 54;
56 34 13 54;
56 34 45 65]
de esta matriz obtener en la columna 4 los iguales a 54 sin que se pierdan las filas
y asi obtener la siguiente matriz
a=[56 34 13 54;
56 34 13 54]
de esta matriz obtener en la columna 3 los iguales a 13 sin que se pierdan las filas
y asi obtener la siguiente matriz
a=[56 34 13 54;
56 34 13 54]
y con estos filtrados tambien ordenarlas de manera que se observe el orden en el cual las columna se filtraron
a=[34 56 54 13]
gracias
espero que me respondan
pdta: este seria solo un ejemplo porque tengo en realidad muchisimos datos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JESUS DAVID ARIZA ROYETH

ordenar matrices dependiendo del orden n que se filtran

1
2
3
4
5
6
7
8
9
10
a=[56 34 13 54;
24 34 25 23;
35 76 43 34;
56 34 13 54;
56 34 45 65];
a=a(a(:,2)==34,:);
a=a(a(:,1)==56,:);
a=a(a(:,4)==54,:);
a=a(a(:,3)==13,:);
a=a(:,[2 1 4 3]);


y de forma directa puedes hacer:

1
2
3
4
5
6
a=[56 34 13 54;
24 34 25 23;
35 76 43 34;
56 34 13 54;
56 34 45 65];
a=a(a(:,2)==34 & a(:,1)==56 & a(:,4)==54 & a(:,3)==13,[2 1 4 3]);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar