I don't understand this command : F=find(B>4)
1 view (last 30 days)
Show older comments
If I have this matrix :
B=[1 2 3 4; 5 6 7 8], why when I run this -> F=find(B>4) , the result is:
2
4
6
8
?
Thank you
0 Comments
Answers (2)
Cris LaPierre
on 16 May 2023
That looks correct. What is it you are expecting?
Since the output is returning a single index for each value found, it is uslng linear indexing. You can read more about that here: https://www.mathworks.com/help/matlab/math/array-indexing.html#MatrixIndexingExample-2
If you prefer row & column index, use the following syntax
Paul
on 16 May 2023
B is a 2D matrix.
B=[1 2 3 4; 5 6 7 8]
This command finds the "linear indices" of the elements of B that satisfy the criteria
find(B>4)
The linear indices are the indices of B when it's viewed a s 1D vector formed by vertically concatenating its columns, which can be shown as
B(:)
The 2nd, 4th, 6th, and 8th elements of B(:) are the elements greater than 4
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!