Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
function
définition d'une fonction Scilab
endfunction
fin de la définition d'une fonction Scilab
Description
function <arguments_sortie>=<nom_de_la_fonction><arguments_entrée> <instructions> endfunction
où
- <nom_de_la_fonction>
est le nom de la fonction
- <arguments_entrée>
est la liste d'arguments d'entrée. Il peut s'agir de :
une liste de noms de variables séparés par des virgules, entourée de parenthèses, comme
(x1,...,xm)
. Le dernier nom de variable peut êtrevarargin
(voir varargin)la séquence
()
ou rien du tout, si la fonction n'a pas d'argument d'entrée.
- <arguments_sortie>
Est la liste d'arguments de sortie. Il peut s'agir de
une liste de noms de variables séparés par des virgules, entourée de crochets, comme
[y1,...,ym]
. Le dernier nom de variable peut êtrevarargout
(voir varargout)la séquence
[]
, si la fonction n'a pas d'argument de sortie. Dans ce cas la syntaxe d'appel peut aussi être :function <nom_de_la_fonction><arguments_entrée>
- <instructions>
une suite d'instructions Scilab. Cette syntaxe peut être utilisée pour définir des fonctions (voir functions) en ligne ou dans un script (voir exec). Pour raisons de compatibilité avec les anciennes versions de Scilab, les fonctions définies dans un script ne contenant que des déclarations de fonctions peuvent être chargées dans Scilab avec la fonction
exec
.
La séquence function <arguments_sortie>=<nom_de_la_fonction><arguments_entrée>
doit apparaître sur une seule ligne. Cette suite peut être suivie d'instructions Scilab si une virgule ou un point-virgule est ajouté à la fin.
Certaines règles ont été établies quant à la syntaxe des noms de fonctions dans Scilab (voir names). |
Les définitions de fonctions peuvent être imbriquées.
Exemples
// définition en ligne function [x, y]=myfct(a, b) x=a+b y=a-b endfunction [x,y]=myfct(3,2) // définition sur une seule ligne function y=sq(x),y=x^2,endfunction sq(3) // définitions imbriquées function y=foo(x) a=sin(x) function y=sq(x), y=x^2,endfunction y=sq(a)+1 endfunction foo(%pi/3) // définition dans un script exec SCI/modules/elementary_functions/macros/asinh.sci;
Voir aussi
Historique
Version | Description |
6.0.0 | function et endfunction sont désormais protégés.
Les affectations telles que function=1 ou
endfunction=2 ne sont plus possibles. |
Report an issue | ||
<< funcprot | Fonctions avancées | getd >> |