Найдите индексы и значения ненулевых элементов
возвращает вектор, содержащий линейные индексы каждого ненулевого элемента в массиве k
= find(X
)X
.
Если X
вектор, затем find
возвращает вектор с той же ориентацией как X
.
Если X
многомерный массив, затем find
возвращает вектор-столбец линейных индексов результата.
Чтобы найти элементы массива, которые удовлетворяют условию, используйте find
в сочетании с выражением отношения. Например, find(X<5)
возвращает линейные индексы в элементы в X
это меньше 5
.
Непосредственно найти элементы в X
это удовлетворяет условию X<5
, используйте X(X<5)
. Избегайте вызовов функции как X(find(X<5))
, которые излишне используют find
на логической матрице.
Когда вы выполняете find
с реляционной операцией как X>1
, важно помнить, что результатом реляционной операции является логическая матрица единиц и нулей. Например, команда [row,col,v] = find(X>1)
возвращает вектор-столбец логического 1
TRUE
) значения для v
.
Индексы строки и столбца, row
и col
, связаны с линейными индексами в k
k = sub2ind(size(X),row,col)
.
ind2sub
| nonzeros
| strfind
| sub2ind
| Logical Operators: Short-Circuit &&
||
| ismember