Detect consecutive positive numbers in an array

3 ビュー (過去 30 日間)
Amirhossein Moosavi
Amirhossein Moosavi 2020 年 9 月 24 日
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

採用された回答

David Hill
David Hill 2020 年 9 月 24 日
編集済み: David Hill 2020 年 9 月 24 日
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 件のコメント
David Hill
David Hill 2020 年 9 月 24 日
Works for me.
Amirhossein Moosavi
Amirhossein Moosavi 2020 年 9 月 24 日
It works now, thanks.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMultidimensional Arrays についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by