Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
find
find indices of boolean vector or matrix true elements
Calling Sequence
[ii]=find(x [,nmax]) [i1,i2,..]=find(x [,nmax])
Arguments
- x
may be a boolean vector, a boolean matrix, a boolean hypermatrix, a "standard" matrix or hypermatrix
- nmax
an integer giving the maximum number of indices to return. The default value is -1 which stands for "all". This option can be used for efficiency, to avoid searching all indices.
- ii, i1, i2, ..
integer vectors of indices or empty matrices
Description
If x
is a boolean matrix,
ii=find(x)
returns the vector
of indices i
for which x(i)
is "true". If no true element
found find returns an empty matrix.
[i1,i2,..]=find(x)
returns vectors of indices i1
(for rows) and i2
(for columns),..
such that x(i1(n),i2(n),..)
is "true". If no true element
found find returns empty matrices in i1
,
i2
, ...
if x
is a standard matrix or hypermatrix find(x)
is interpreted as
find(x<>0)
find([])
returns []
Examples
beers=["Desperados", "Leffe", "Kronenbourg", "Heineken"]; find(beers=="Leffe") // OK find(beers=="1664") // KO find(beers=="Foster") // KO beers=[beers, "Foster"] find(beers=="Foster") // OK A=rand(1,20); w=find(A<0.4) A(w) w=find(A>100) B=rand(1,20); w=find(B<0.4,2) //at most 2 returned values H=rand(4,3,5); //an hypermatrix [i,j,k]=find(H>0.9) H(i(1),j(1),k(1))
See Also
- boolean — Scilab Objects, boolean variables and operators & | ~
- extraction — matrix and list entry extraction
- insertion — partial variable assignation or modification
- vectorfind — finds in a matrix rows or columns matching a vector
<< bool2s | Boolean | Integers >> |