Renumber matrix with some restrictions
조회 수: 4 (최근 30일)
이전 댓글 표시
Hello everyone,
i have a problem with a matrix called conn which represents the names of some cordinates.
The conn matrix is: conn=[1 5; 5 6; 6 7; 7 2; 2 3; 2 8; 8 9 ; 9 10; 10 4]
i want to renumber it from the start so the new matrix Con would be:
Con = [1 2; 2 3; 3 4; 4 5; 5 6; 5 7; 7 8 ; 8 9; 9 10].
So i want to renumber it from start row by row but all the same numbers from conn matrix apprear in the Con with the same number (see 2 3 and 2 8 from conn). Is it possible?
Thanks in advance.
댓글 수: 0
채택된 답변
Walter Roberson
2022년 1월 5일
편집: Walter Roberson
2022년 1월 5일
conn=[1 5; 5 6; 6 7; 7 2; 2 3; 2 8; 8 9 ; 9 10; 10 4]
[~, ~, ic] = unique(conn.', 'stable')
Con = reshape(ic, 2, []).'
추가 답변 (1개)
Steven Lord
2022년 1월 5일
I'm not completely sure how you got from conn to Con, in particular I'm not sure how you generated the third row in Con. [3 4] doesn't appear as a row in conn. What I think from your description you want uses sort and sortrows.
conn=[1 5; 5 6; 6 7; 7 2; 2 3; 2 8; 8 9 ; 9 10; 10 4]
smallerNumbersFirstInRow = sort(conn, 2)
Con = sortrows(smallerNumbersFirstInRow)
If that's not what you want can you describe in more detail exactly how you generated your Con matrix from the conn matrix?
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrices and Arrays에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!