How to count first identical elements without a for cycle?
2 ビュー (過去 30 日間)
古いコメントを表示
I have a vector [3 3 3 3 3 4 1 1 0 0 0 5 6 3 3 1 1 1], and I want to count threes at the begining of the vector, so the result has to be 5.
1 件のコメント
Rik
2018 年 11 月 21 日
You have now asked over 350 questions. Surely you have been linked to the tutorial multiple times. So you should know that you should show what you have tried so far to achieve this.
I also have a few points for clarification: Should the code measure the run length of the first run of 3s, or should it measure the length of the first run?
採用された回答
Rik
2018 年 11 月 21 日
編集済み: Rik
2018 年 11 月 21 日
In case you want to measure the run length of the first run:
data=[3 3 3 3 3 4 1 1 0 0 0 5 6 3 3 1 1 1];
output=find(diff(data),1,'first');
And if you want to measure the run length of the first run of 3:
data=[5 3 3 3 3 3 4 1 1 0 0 0 5 6 3 3 1 1 1];
ind=find(data==3,1);
if ind>1
data(1:(ind-1))=[];
end
output=find(diff(data),1,'first');
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Statistics and Machine Learning Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!