Filter löschen
Filter löschen

I don't understand this command : F=find(B>4)

1 Ansicht (letzte 30 Tage)
Roberta
Roberta am 16 Mai 2023
Kommentiert: Roberta am 17 Mai 2023
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

Antworten (2)

Cris LaPierre
Cris LaPierre am 16 Mai 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
You can read more about the find function here: https://www.mathworks.com/help/matlab/ref/find.html

Paul
Paul am 16 Mai 2023
B is a 2D matrix.
B=[1 2 3 4; 5 6 7 8]
B = 2×4
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)
ans = 4×1
2 4 6 8
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(:)
ans = 8×1
1 5 2 6 3 7 4 8
The 2nd, 4th, 6th, and 8th elements of B(:) are the elements greater than 4

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by