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

2 ビュー (過去 30 日間)
Pedro Guevara
Pedro Guevara 2020 年 2 月 25 日
回答済み: Sai Sri Pathuri 2020 年 2 月 28 日
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.

採用された回答

Sai Sri Pathuri
Sai Sri Pathuri 2020 年 2 月 28 日
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 件)

カテゴリ

Help Center および File ExchangeShifting and Sorting Matrices についてさらに検索

製品


リリース

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by