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