Azzera filtri
Azzera filtri

How can I organize the rows of an array in a specific order?

5 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Sai Sri Pathuri
Sai Sri Pathuri il 28 Feb 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,:)

Più risposte (0)

Categorie

Scopri di più su Shifting and Sorting Matrices in Help Center e File Exchange

Prodotti


Release

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by