Найдите индексы и значения ненулевых элементов
k = find(X)
k = find(X,n)
k = find(X,n,direction)
[row,col]
= find(___)
[row,col,v]
= find(___)
возвращает вектор, содержащий линейные индексы каждого ненулевого элемента в массиве k
= find(X
)X
.
Если X
является вектором, то find
возвращает вектор с той же ориентацией как X
.
Если X
является многомерным массивом, то find
возвращает вектор-столбец линейных индексов результата.
Если 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)
.