To Count the reversal of a series of numbers in a column or row.
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
aneps
am 14 Dez. 2017
Kommentiert: Jos (10584)
am 16 Dez. 2017
I have a data with the first column as follows" A = [1 1 1 1 2 2 2 2 3 3 3 4 4 3 3 2 2 2 3 3 3 3 4 4 4 5 5 5 5 6 6 6 6 6 7 7 7 7 8 8 8 7 7 6 6 7 7 7 8 8 8 9 9 9 9 ]; I want to count how many times the number roll back, means, form the beginning the number keep on increasing and after 4 it reversed again after 2 it start increasing. This thing happen after 7 also. So how can I make a code to count how many times it reversed? For example, in this case , the data A reversed two times. In my original data, I have almost 1000 or even more data with several reversals.
0 Kommentare
Akzeptierte Antwort
Jos (10584)
am 14 Dez. 2017
dA = diff(A) ;
Nreversals = sum(diff(dA(dA~=0))<0)
2 Kommentare
Jos (10584)
am 16 Dez. 2017
Ok! Corrected code:
dA = sign(diff(A)) ;
Nreversals = sum(diff(dA(dA~=0))<0)
Note there are 15 small reversals in column 4 ...
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Dynamic System Models finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!