Get every first value above a treshold out of an array
1 回表示 (過去 30 日間)
古いコメントを表示
Hi guys, Lets say I have an array with elements with
A = [1 2 3 4 5 6 2 3 4 5 6 3 4 5 6 7 8 1 2 1 2 1 2 3 4 5 6]
Now I want to have only the first values that are above the treshold 4.5 when reading from left to right. So reading from left to right when an element is lower than 4.5 it is a 0, when it is higher than 4.5, only the first element is a 1. When the next element is also higher than 4.5 it should be a zero. Only when the value of an element drops below 4.5 the next element above 4.5 should again be a one.
The result should be:
B = [0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0]
Please help me with the magic between A and B.
採用された回答
その他の回答 (1 件)
Image Analyst
2019 年 12 月 8 日
Looks like homework so we're only giving hints. Hint:
da = [0, diff(A > 4.5)]
and then look up strfind() and zeros() to help you get the answer in the final 3 lines of code.
1 件のコメント
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!