Matlab - Reordenando filas y columnas de una matriz

 
Vista:
sin imagen de perfil
Val: 68
Ha aumentado 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

Reordenando filas y columnas de una matriz

Publicado por Aitor (49 intervenciones) el 25/05/2017 21:10:35
Buenas tardes,

Necesito reordenar las filas y columnas de una matriz binaria Hcc, cuya dimensión es de 17391x20460. A priori parece grande, pero es la más pequeña de aquellas con las que necesitaré trabajar, llegando a alcanzar incluso dimensiones cercanas a 54000x60000, más adelante.

Necesito hacerlo de tal modo que la nueva matriz tenga la forma HHcc = [A In-k], donde In-k representa la matriz identidad de dimensión n-k, el número de filas de la matriz Hcc original.

He intentado lo siguiente:

1
HHcc = mod(rref(Hcc),2);

El problema es que esta operación tarda siglos en acabar (¡y a continuación el código tiene que seguir ejecutándose...!)

¿Se os ocurre alguna manera más eficiente de llevar esto a cabo?

¡Un saludo!
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
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Reordenando filas y columnas de una matriz

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 25/05/2017 21:42:32
puedes colocar un ejemplo que puedas mostrar una matriz original y la matriz que deseas al final con una matriz pequeña ?
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 JESUS DAVID ARIZA ROYETH
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Reordenando filas y columnas de una matriz

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 26/05/2017 07:05:51
pero en el ejemplo que montas el número de unos no coincide con la matriz dada inicialmente así que puedes generar una matriz identidad concatenada con una matriz aleatoria de unos y 0 cualquiera?
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 JESUS DAVID ARIZA ROYETH
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Reordenando filas y columnas de una matriz

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 26/05/2017 18:41:13
si el comando te sirve y el problema es de memoria entonces te recomiendo que uses programación paralela tecleando parpool, pero dado los tamaños de tus matrices finales que son de 60000 siendo del orden de 2^16 aproximadamente entonces te recomiendo que tengas una buena memoria RAM de 64GB para que aceleres el proceso o mínimo de 32GB
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