Detect consecutive positive numbers in an array
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Amirhossein Moosavi
am 24 Sep. 2020
Kommentiert: Amirhossein Moosavi
am 24 Sep. 2020
Hello,
Let us assum an Array A as follows:
A = [4 9 6 0 0 3 4 0 3]
I want to detect the location (begining and ending) of consecutive positive values and store in a Matrix like B:
B=[1 3
6 7
9 9]
For example, in Array A, the first block of consequtive positive values starts from the first element and ends at the third elements.
Would you please help me?
Best, Amir
0 Kommentare
Akzeptierte Antwort
David Hill
am 24 Sep. 2020
Bearbeitet: David Hill
am 24 Sep. 2020
A(A<0)=0;%if negative numbers possible
A(A>9)=9;%if >single digit possible
a=num2str(A);
a=a(a~=' ');
B=[regexp(a,'[1-9]*')',regexp(a,'[1-9]*','end')'];
3 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Multidimensional Arrays 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!