How do I keep consecutive number in a matrix?

1 回表示 (過去 30 日間)
Linjun He
Linjun He 2018 年 12 月 25 日
コメント済み: Linjun He 2018 年 12 月 25 日
For a matrix A,
A = [1 1 0 0 1 1 0 0;
1 0 0 0 1 1 0 0;
0 1 0 0 1 1 0 0]
I am trying to get B. How do I make it?
B = [1 1 0 0 0 0 0 0;
1 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0]
If the 1st number of a row is 1,
then the 1st sequence of consecutive 1 is kept and the rest numbers in that row turn 0.
i.e., A(1,:) -> B(1,:), A(2,:) -> B(2,:)
If the 1st number of a row is 0,
then all numbers in that row turn 0.
i.e., A(3,:) -> B(3,:)

採用された回答

Matt J
Matt J 2018 年 12 月 25 日
B=cummin(A,2);
  2 件のコメント
Image Analyst
Image Analyst 2018 年 12 月 25 日
Clever. I didn't know about this function. +1 vote.
Linjun He
Linjun He 2018 年 12 月 25 日
Cool!

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

その他の回答 (0 件)

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by