Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: Français - Português - 日本語

Please note that the recommended version of Scilab is 6.0.2. This page might be outdated.
See the recommended documentation of this function

Scilab help >> Boolean > find


find indices of boolean vector or matrix true elements

Calling Sequence

[ii]=find(x [,nmax])
[i1,i2,..]=find(x [,nmax])



may be a boolean vector, a boolean matrix, a boolean hypermatrix, a "standard" matrix or hypermatrix


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


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 []


beers=["Desperados", "Leffe", "Kronenbourg", "Heineken"];
find(beers=="Leffe") // OK
find(beers=="1664") // KO
find(beers=="Foster") // KO
beers=[beers, "Foster"]
find(beers=="Foster") // OK


w=find(B<0.4,2) //at most 2 returned values

H=rand(4,3,5); //an hypermatrix


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
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Mar 03 10:59:46 CET 2011