Scilab Function
Last update : 6/7/2004

contour2di - calcule les courbes de niveau d'une surface

### Calling Sequence

  `[xc,yc]=contour2di(x,y,z,nz)`

### Parameters

- `x,y` : deux vecteurs lignes de taille n1 et n2.
- `z` : matrice réelle de taille (n1,n2), les valeurs de la fonction.
- `nz` : valeurs des niveaux ou nombre de niveaux
  - `-` Si `nz` est un entier, sa valeur définit le nombre de courbes de niveaux espacées régulièrement entre zmin et zmax :

               z= zmin + (1:nz)*(zmax-zmin)/(nz+1)

    Noter que les niveaux `zmin` et `zmax` ne sont pas dessinés (génériquement ils sont réduits à des points) mais peuvent être ajoutés avec

               [im,jm] = find(z == zmin);     // ou zmax
                plot2d(x(im)',y(jm)',-9,"000")

  - `-` - Si `nz`est un vecteur, `nz(i)` done la valeur de la ième courbe de niveau.
- `xc,yc` : vecteurs de taille identique contenant la définition des contours. Voir ci-dessous pour les détails.

### Description

`contour2di` calcule les courbes de niveau (dans le plan) de la surface `z=f(x,y)`. Les valeurs de `f(x,y)` sont données par la matrice `z` aux points du plan définis par `x` et `y`.

`xc(1)` contient le niveau associé à la première courbe de niveau, `yc(1)` contient le nombre de points `N1` définissant cette courbe et (`xc(1+(1:N1))`, `yc(1+(1:N1))` ) contiennent les coordonnées des points de la courbe. La seconde courbe commence à `xc(2+N1)` et `yc(2+N1)` et ainsi de suite.

### Examples

    [xc,yc]=contour2di(1:10,1:10,rand(10,10),5);
    k=1;n=yc(k);c=1;
    while k+yc(k)<size(xc,'*')
      n=yc(k);
      plot2d(xc(k+(1:n)),yc(k+(1:n)),c)
      c=c+1;
      k=k+n+1;
    end

### See Also

`contour`, `fcontour`, `fcontour2d`, `contour2d`, `plot2d`, `xset`,

### Author

J.Ph.C.