Matlab - Ordenar filas de una matriz en función de los elementos de las columnas

 
Vista:

Ordenar filas de una matriz en función de los elementos de las columnas

Publicado por Almudena (9 intervenciones) el 22/02/2012 14:01:18
Hola!

Ahí va una consulta:

tengo una matriz A(m,n),

Se trata de ordenar los las filas de forma que los elementos de las coincidan, es decir

imaginando por ejemplo que los campos son:

comida bebida ocio campo 4 campo 5

atún café cine x y
pan cerveza piscina d g
atún café cine g g
tomate agua música o t
atún café cine i f
tomate agua música i u

Tiene que quedar:

atún café cine x y
atún café cine g g
atún café cine i f
tomate agua música o t
tomate agua música i u
pan cerveza piscina d g


tengo 3000 filas, y son numeros....he puesto palabras porque me parecía más sencillo de comprender...

Gracias!!
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 JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Ordenar filas de una matriz en función de los elementos de las columnas

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 22/02/2012 14:17:11
Hola Almudema.
Seria bueno que pusieras tu avance.
Para ver exactamente que es lo quieres hacer.
o un ejemplo con numero.


Saludos.
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
"Detalladar sus preguntas, para recibir respuestas acertadas"
[email protected], [email protected]
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

Ordenar filas de una matriz en función de los elementos de las columnas

Publicado por Almudena (9 intervenciones) el 28/02/2012 13:55:59
Ayss, si es que al final estaba rizando el rizo, y creo que es mucho más sencillo, aunque ahora no me está dando buenos resultados.

Lo que tengo que hacer es: tengo dos matrices de diferente dimensión, A y B, quiero buscar en B las filas que sean igual que A en las columnas 1,3,4, así que le digo y luego ordenarlas como A.

[m,n]=size(A);
[o,p]=size(B);
C=[ ];

se que A es mayor que B así que le digo:

for i=1:o
pos_ba=find( A(i,1)==B(:,1) & A(i,3)==B(:,3) & A(i,4)==B(:,4)); %se supone que debería decirme en
que posiciones se cumple la condición, pero no es así.
C(pos_ba,:)
end

...no...lo hago bien

Gracias!

Saludos
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Ordenar filas de una matriz en función de los elementos de las columnas

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 28/02/2012 16:28:30
Hola Almudema.
Se mas clara en tu pregunta.
Leo y vuelvo a leer no entiendo exactamente que es lo quieres hacer exactamente.
Para hacer un programa, hay que tener las ideas claras.
porque no pones un ejemplo concreto con números de una matriz A y B y que cumpla con las condiciones que buscas.
Hace mas de una semana te dije. Pero al parecer no haces casos a las sugerencias.

La vida es bien practica en el foro, un usuario entra lee una pregunta del foro y no entiende a la primera, simplemente lo pasa.
Y pocos se dan un tiempo para leer y leer y leer y tratar de comprender que es lo quiere decir el otro usario con su pregunta en el foro.
Es por esa razon, que los usuarios del foro de matlab, tienen hacer bien claro sus preguntas, para que puedan recibir una respuesta acertada.


Saludos.
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
"Detalladar sus preguntas, para recibir respuestas acertadas"
[email protected]
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

Ordenar filas de una matriz en función de los elementos de las columnas

Publicado por Almudena (9 intervenciones) el 28/02/2012 17:09:37
Disculpa es que me cuesta mucho traducirlo en lenguaje de programación, por eso creo que se dificulta tanto.

Tengo dos matrices A(3000,18) y B(2800,18), cada una de ellas con diferente dimensión.

Cada matriz se corresponde con una serie de observaciones de una medida cada fila es una observación y cada columna es un campo, por ejemplo: Si la matriz "A" fuese:

Nºobs/ Hora / distancia

1 2 4
3 2 6
8 5 4
3 3 3


y la matriz B fuese:

Nºobs/ Hora / distancia
3 2 5
4 5 6
3 3 8
1 2 4

Tengo que buscar en B las filas en las que coinciden los campos Nºobs y Hora de la matriz A (las subrayadas), y hacer una nueva matriz C,que me quedaría:

Nºobs/ Hora / distancia
0 0 0
3 2 5
0 0 0
3 3 8


de forma que si resto A-C elemento a elemento los campos Nºobs y Hora me queden cero.
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Ordenar filas de una matriz en función de los elementos de las columnas

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 28/02/2012 17:17:36
Hola Almudema.
Si deseas comunicate via messneger de hotmail (opcion audio). Para mayor informacion.
Estoy en linea.


Saludos.
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
"Detalladar sus preguntas, para recibir respuestas acertadas"
[email protected]
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

Ordenar filas de una matriz en función de los elementos de las columnas

Publicado por Zulima (1 intervención) el 01/04/2014 22:08:18
Ahi va otra consulta:

Tengo un vector (que coincide con una de las filas de una matriz) y la propia matriz. Quiero saber exactamente el orden de la columna que se corresponde con el vector dado.

Muchas gracias
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