Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - Русский - 日本語
Aide de Scilab >> Fonctions avancées > 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

<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 être varargin (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 être varargout (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

  • functions — procédures Scilab et objets Scilab
  • exec — exécution d'un script (fichier de commandes)
  • names — syntaxe des noms de variables dans Scilab
Scilab Enterprises
Copyright (c) 2011-2015 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Jun 15 08:31:22 CEST 2016