Renumber matrix with some restrictions
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Antonis Ventouris
am 5 Jan. 2022
Kommentiert: Antonis Ventouris
am 5 Jan. 2022
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 Kommentare
Akzeptierte Antwort
Walter Roberson
am 5 Jan. 2022
Bearbeitet: Walter Roberson
am 5 Jan. 2022
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, []).'
Weitere Antworten (1)
Steven Lord
am 5 Jan. 2022
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 Kommentare
Siehe auch
Kategorien
Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!