Tengo una bigmatrix que está ordenada. Sin embargo, necesito reordenarlo según el orden de los ID en otra matriz (col. 1 here for both matrices
). ¿Cómo puedo hacer esto usando vectorización? Por ejemplo:Ordenar una matriz según el orden dado en una segunda matriz (MATLAB)
bigmat = [ ...
1 10 ;
1 30 ;
1 40 ;
2 1 ;
2 11 ;
3 58 ;
4 2 ;
4 5 ] ;
ordermat = [ 2 ; 1 ; 4 ; 3 ; 6] ; % Integer IDs
finalans = [ ...
2 1 ;
2 11 ;
1 10 ;
1 30 ;
1 40 ;
4 2 ;
4 5 ;
3 58 ; ] ;
Es posible que todos los ID de algunos números enteros (aquí) en ordermat
pueden no estar presentes en bigmat. Se pueden ignorar como se muestra arriba con id = 6
. ¡Gracias!
¿Qué quiere decir por vectorización? – Mark
Quise decir sin usar un for-loop en bigmatrix. Espero que la solución use una función como 'ismember', etc. Bigmatrix tiene más de 0.5 millones de filas. – Maddy