Renumber matrix with some restrictions
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Antonis Ventouris
il 5 Gen 2022
Commentato: Antonis Ventouris
il 5 Gen 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 Commenti
Risposta accettata
Walter Roberson
il 5 Gen 2022
Modificato: Walter Roberson
il 5 Gen 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, []).'
Più risposte (1)
Steven Lord
il 5 Gen 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 Commenti
Vedere anche
Categorie
Scopri di più su Matrices and Arrays in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!