How to extract the first and last position for each ones series ?
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
For example
How to extract the first and last position for each ones series ?
X= [0 0 1 1 1 0 1 1 0 1 1 1 0 0 1 ]
%result
y =
3 5
7 8
10 12
15 15
Thanks
1 Kommentar
Cedric
am 23 Jan. 2013
If it is for indexing something else afterwards, you can use that almost directly for logical indexing; you just have to typecast it to logical. E.g.
>> X = [0 0 1 1 1 0 1 1 0 1 1 1 0 0 1 ] ;
>> a = 1:15 ;
>> a(logical(X))
ans =
3 4 5 7 8 10 11 12 15
Akzeptierte Antwort
Weitere Antworten (3)
Roger Stafford
am 23 Jan. 2013
f = find([false,diff(x)~=0,false]);
y = [f(1:2:end)',f(2:2:end)'-1];
0 Kommentare
Azzi Abdelmalek
am 23 Jan. 2013
You can use
x= [ 0 0 1 1 1 0 1 1 0 1 1 1 0 0 1 ]
y=[x(1) diff(x)] % to find the first column
x1=fliplr(x) % to find the second column by the first method, just by
% reversing x
0 Kommentare
Siehe auch
Kategorien
Mehr zu Numeric Types 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!