Updating numbers to be in sequential order
Ältere Kommentare anzeigen
I have a column of numbers [1 1 2 2 3 1 2 3 3 4 1 1 2] and I want to change the numbers so that they are in sequential order, resulting in [1 1 2 2 3 4 5 6 6 7 8 8 9]. How can I do this?
Antworten (2)
Walter Roberson
am 22 Mai 2015
2 Stimmen
sort()
3 Kommentare
Andrew
am 22 Mai 2015
Walter Roberson
am 22 Mai 2015
Suppose the vector is stored in t. Then
Ordered = cumsum([1; diff(t(:))~=0]);
Stephen23
am 22 Mai 2015
@Andrew: can you please explain how Walter Roberson's solution does not "solve my problem". Please tell us what you want it to do, or how it should be different.
What exactly is the problem then?
Andrei Bobrov
am 22 Mai 2015
a = [1 1 2 2 3 1 2 3 3 4 1 1 2];
z = [0 3 7];
out = z(cumsum(diff([0,a == 1]) == 1)) + a;
Kategorien
Mehr zu Logical finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!