How do I record the location of a specific value in a set of data?
1 次查看(过去 30 天)
显示 更早的评论
Hello,
I am very new to matlab, and would appreciate advice!
I understand my question is not entirely clear. So I am trying to go through data that looks like:
[1] 0 0 0 0 1 0 1 0 0
And want the code to index until it encounters the first 1 (ignoring the rest of the 1s repeated in the row) then state the distance from the start of the row to the first 1 [so here it would be the distance from column 5 to column 1]
Then ideally it would repeat the same thing for a second row. My 'for' loop is not working, and ideally this code would work for dozens of rows of data. Thank you :)
0 个评论
采纳的回答
madhan ravi
2020-6-17
First_1 = find(x,1) % where x is your row in the loop
Distance = diff(find(x,2))
3 个评论
madhan ravi
2020-6-18
That is why I specifically commented saying “row” which is “singular”. Loop through through the rows. Preallocate distance as a cell.
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!