Langage Scilab

Notification de cookies

Nous utilisons des cookies pour améliorer votre expérience. En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies. Plus d'informations

les fonctions en Scilab

1. définition d’une fonction 

Pour définir une fonction (ou procédures) en Scilab, la méthode la plus courante est de l’écrire dans un fichier, dans lequelon pourra d’ailleurs mettre plusieurs fonctions (en regroupant par exemple les fonctions qui correspondent à un même thèmeou une même application). Chaque fonction doit commencer par l’instruction : 

function [y1,y2,...,yn]=nomfonction(x1,x2,...,xp)
   <instructions>
endfunction

où les xi sont les arguments d’entrée (ou paramètres), les yj étant les arguments de sortie (ou résultats). Une fonction peutavoir 0, 1 ou plusieurs paramètres (placés entre parenthèses) ainsi que 0, 1 ou plusieurs résultats (placés entre crochets).Dans l’exemple suivant, nous définissons la fonction myfunction, qui prend l’argument d’entrée x, le multiplie par 2, et renvoie la valeur dans l’argument de sortie y. 

function y = myfunction ( x )
    z=2*x
endfunction

l'instruction function y = myfunction (x) est l’en-tête de la fonction tandis que le corps de la fonction est constitué de l’instruction y = 2 * x. Le corps d’une fonction peut contenir une, deux ou plusieurs instructions.
Supposons que la fonction simplef est définie avec 2 arguments d’entrée et 2 arguments de sortie, comme suit. 

function [y1 , y2] = simplef ( x1, x2 )
   y1 = 2 * x1
   y2 = 3 * x2
endfunction

En fait, le nombre d’arguments de sortie d’une telle fonction peut être 0, 1 ou 2. Lorsqu’il n’y a pas d’argument de sortie,la valeur du premier argument de sortie est stockée dans la variable ans. Nous pouvons également définir la variable y1 uniquement. Enfin, nous pouvons utiliser tous les arguments de sortie, comme prévu. l’exemple suivant présente toutes ces séquences d’appel. 

--> simplef ( 1 , 2 )
    ans  =
      2.

--> y1 = simplef ( 1 , 2 )
    y1  =
      2.

--> [y1,y2] = simplef ( 1 , 2 )
    y2  =
      6.
    y1  =
      2.

2. Instruction return 

Dans le corps d’une fonction, return permet de revenir immédiatement, c’est-à-dire qu’elle quitte immédiatement lafonction en cours. Cette déclaration peut être utilisée dans les cas où le reste de l’algorithme n’est pas nécessaire.
La fonction suivante calcule la somme des entiers de istart à iend. Dans des situations normales, il utilise la fonction sum poureffectuer son travail. Mais si la variable istart est négative ou si la condition istart <= iend n’est pas satisfaite, la variablede sortie y est mise à 0 et la fonction retourne immédiatement. 

function y = mysum ( istart , iend )
   if ( istart < 0 ) then
      y=0
      return
   end
   if ( iend < istart ) then
      y=0
      return
   end
   y = sum ( istart : iend )
endfunction

l’exemple suivant permet de vérifier que l’instruction return est correctement utilisée par la fonction mysum

--> mysum ( 1 , 5 )
    ans  =
      15.

--> mysum ( -1 , 5 )
    ans  =
      0.

--> mysum ( 2 , 1 )
    ans  =
      0.

Partager ce cours avec tes amis :

Rédigé par M. ESSADDOUKI

Learning a new programming language is an easy thing, but the most difficult thing is how to design efficient algorithms for real-world problems, so don't be a programmer, be a problems solver.

Cours Similaires :