How can I organize the rows of an array in a specific order?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Pedro Guevara
el 25 de Feb. de 2020
Respondida: Sai Sri Pathuri
el 28 de Feb. de 2020
Good morning. I have the following problem. I have a square matrix of N * N (The matrix can be of different size), in the final row of said matrix there are some indices in a certain order, these indices are also in the final column of the matrix but in a different order. What I want is a code that allows me to organize the rows of the matrix in the same order as the final row of the matrix. The purpose of this is to obtain a symmetric matrix.
Example.
Before organizing:
After organizing:
Thank you very much for your help.
0 comentarios
Respuesta aceptada
Sai Sri Pathuri
el 28 de Feb. de 2020
Let the square matrix of order NxN be A. In order to obtain symmetric matrix from A, you may try the following:
Sort the elements in the last row of matrix A and get the indices (Ir) of sorted elements
[Sr,Ir] = sort(A(N,:)
Similarly, sort the elements in the last column of matrix A and get indices Ic
[Sc,Ic] = sort(A(:,N)')
Now align the rows of matrix according to the last row of matrix A by
A(Ir,:)= A(Ic,:)
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Shifting and Sorting Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!