• Sábado 1 de Junio de 2024, 09:27

Autor Tema:  ordenación de matrices  (Leído 4609 veces)

cucu

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
ordenación de matrices
« en: Domingo 3 de Mayo de 2009, 17:39 »
0
hola, soy bastante novatilla en matlab y algo que debería ser fácil no consigo que funcione.

Me gustaría ordenar una matriz en orden creciente de la segunda fila, algo así:

A = [1 2 3
       5 6 4
       7 8 9]

Debería quedar así:

B = [3 1 2
       4 5 6
       9 7 8]

Parece qeu lo más adecuado sería la función "sort", pero no parece que ninguna de sus opciones me sirva.

sort(A,2) ordena por filas, pero cada una independiente.

¿Hay alguna manera de tratar a las columnas como bloques para conseguir lo que quiero? ¿o alguna otra función que sirva para hacerlo?

Gracias. Saludos

allisap

  • Miembro MUY activo
  • ***
  • Mensajes: 259
  • Nacionalidad: mx
    • Ver Perfil
Re: ordenación de matrices
« Respuesta #1 en: Lunes 4 de Mayo de 2009, 02:34 »
0
podrias explicar mejor como deseas ordenar las matrices , tu ejemplo no es muy claro,...

por otro lado,...
si lo que quieres es solo ordenar una parte de la matriz, puedes tomar  una parte de la matriz y asignarla a otra variable ordenarla y luego volver a formar la matriz resultado...


Saludos
Victor Pasilla Campos

cucu

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: ordenación de matrices
« Respuesta #2 en: Lunes 4 de Mayo de 2009, 08:52 »
0
Hola, voy a intentar explicarme... es que es dificil...

En realidad yo tengo tres vectores A, B y C 1x7, vamos una fila, siete columnas.

Cada elemento está relacionado con el elemento de la misma posición en los otros vectores. Vamos, A(1,3) está relacionado con B(1,3) y C(1,3).

Lo que quiero hacer es ordenar de menor a mayor B y que A y C se reordenen de la misma manera para que siga existiendo la correspondencia que existía. Es decir, si el elemento 4 de B se ha quedado en la posición 2, quiero también cambiar este elemento en A y C.

Entonces, yo he empezado creando una matriz de 3x7, donde cada fila es uno de los vectores, pensando en que la función sort podía ayudarme. Si hay otra forma más adecuada de hacerlo lo cambio.

Espero que ahora se me haya entendido, si no decirme y lo vuelvo a intentar.

Gracias. Saludos

allisap

  • Miembro MUY activo
  • ***
  • Mensajes: 259
  • Nacionalidad: mx
    • Ver Perfil
Re: ordenación de matrices
« Respuesta #3 en: Lunes 4 de Mayo de 2009, 15:58 »
0
ahhhhh ya te entendi :D  :D


no quieres odenar todos los vectores de mayor a menor, solo uno de ellos , pero quieres que la correspondencia permanezca...

bueno, eso no se puede hacer con comando... tienes que hacerlo desde abajo, programandolo manualmente



saludos

Victor Pasilla Campos

cucu

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: ordenación de matrices
« Respuesta #4 en: Lunes 4 de Mayo de 2009, 16:39 »
0
Gracias por la respuesta lo haré "a mano" entonces.

Saludos