What is the reverse function of dmperm()?

조회 수: 5 (최근 30일)
Elena
Elena 2013년 12월 10일
댓글: Elena 2013년 12월 11일
I'm trying to solve Ax = b using Jacobi iterations.
The function dmperm() is used to permute the rows of A so that the diagonal has no zeros. b is also permuted by the same order of row permutation of A. Then I get x with rows permuted. How can I "unpermute" x to get the original order?
Thanks a lot!

채택된 답변

Roger Stafford
Roger Stafford 2013년 12월 11일
As long as you use the single-output version of 'dmperm'
p = dmperm(A);
and only permute the rows of matrix A, getting A(p,:), then the elements of x are not permuted.
A permutation of both the rows and columns of A, A(p,q), will permute the elements of x by q. To get x back to the original order is accomplished by
x(q) = x;
which amounts to the inverse permutation of q.
  댓글 수: 1
Elena
Elena 2013년 12월 11일
Thank you very much!!!
x(q) = x; is exactly what I want!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by