# find

trouve les indices des éléments vrais d'un vecteur ou d'une matrice de booléens

## Séquence d'appel

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

## Paramètres

x

  peut être un vecteur booléen, une matrice booléenne, une hypermatrice booléenne, une matrice ou une hypermatrice "standard".

nmax

  un entier donnant le nombre maximal d'indices à retourner. La valeur par défaut est -1 qui signifie "tous". Cette option peut être utilisée dans un but d'efficacité en évitant la recherche de tous les indices.

ii, i1, i2, ..

  vecteurs d'entiers des indices ou matrices vides

## Description

Si `x` est une matrice booléenne,

`ii=find(x)` retourne le vecteur des indices `i` pour lesquels `x(i)` est "vrai". Si aucun élément vrai n'est trouvé find retourne une matrice vide.

`[i1,i2,..]=find(x)` retourne le vecteur des indices `i1` (pour les lignes) et `i2` (pour les colonnes),.. tel que `x(i1(n),i2(n),..)` est "vrai". Si aucun élément vrai n'est trouvé find retourne des matrices vides dans `i1`, `i2`, ...

Si `x` est une matrice standard ou une hypermatrice `find(x)` est interprété comme `find(x<>0).`

`find([])` retourne `[].`

## Exemples

    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) //retourne au plus deux valeurs

    H=rand(4,3,5); //une hypermatrice
    [i,j,k]=find(H>0.9)

    H(i(1),j(1),k(1))

## Voir aussi

- boolean
- extraction
- insertion
- recherche de vecteur