1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
<?xml version="1.0" encoding="UTF-8"?>
<!--
* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
* Copyright (C) ????-2008 - INRIA
*
* This file must be used under the terms of the CeCILL.
* This source file is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at
* http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
*
-->
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:lang="fr" xml:id="function">
<info>
<pubdate>$LastChangedDate$</pubdate>
</info>
<refnamediv>
<refname>function</refname>
<refpurpose> définition d'une fonction Scilab </refpurpose>
</refnamediv>
<refnamediv xml:id="endfunction">
<refname>endfunction</refname>
<refpurpose> fin de la définition d'une fonction Scilab </refpurpose>
</refnamediv>
<refsection>
<title>Description</title>
<programlisting><![CDATA[
function <arguments_sortie>=<nom_de_la_fonction><arguments_entrée>
<instructions>
endfunction
]]></programlisting>
<para> où</para>
<variablelist>
<varlistentry>
<term><nom_de_la_fonction></term>
<listitem>
<para>est le nom de la fonction</para>
</listitem>
</varlistentry>
<varlistentry>
<term><arguments_entrée></term>
<listitem>
<para>est la liste d'arguments d'entrée. Il peut s'agir de :</para>
<itemizedlist>
<listitem>
<para>une liste de noms de variables séparés par des virgules, entourée de parenthèses, comme <literal>(x1,...,xm)</literal>. Le dernier nom de variable peut être <literal>varargin</literal> (voir varargin)</para>
</listitem>
<listitem>
<para>la séquence <literal>()</literal> ou rien du tout, si la fonction n'a pas d'argument d'entrée.</para>
</listitem>
</itemizedlist>
</listitem>
</varlistentry>
<varlistentry>
<term><arguments_sortie></term>
<listitem>
<para>Est la liste d'arguments de sortie. Il peut s'agir de</para>
<itemizedlist>
<listitem>
<para>une liste de noms de variables séparés par des virgules, entourée de crochets, comme <literal>[y1,...,ym]</literal>. Le dernier nom de variable peut être <literal>varargout</literal> (voir varargout)</para>
</listitem>
<listitem>
<para>la séquence <literal>[]</literal>, si la fonction n'a pas d'argument de sortie. Dans ce cas la syntaxe d'appel peut aussi être : <literal>function <nom_de_la_fonction><arguments_entrée></literal></para>
</listitem>
</itemizedlist>
</listitem>
</varlistentry>
<varlistentry>
<term><instructions></term>
<listitem>
<para>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 <literal>exec</literal>.</para>
</listitem>
</varlistentry>
</variablelist>
<para>
La séquence <literal>function <arguments_sortie>=<nom_de_la_fonction><arguments_entrée></literal>
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.
</para>
<para> Les définitions de fonctions peuvent être imbriquées. </para>
</refsection>
<refsection>
<title>Exemples</title>
<programlisting role="example"><![CDATA[
// 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;
]]></programlisting>
</refsection>
<refsection>
<title>Voir Aussi</title>
<simplelist type="inline">
<member>
<link linkend="functions">functions</link>
</member>
<member>
<link linkend="exec">exec</link>
</member>
</simplelist>
</refsection>
</refentry>
|