<?xml version="1.0" encoding="UTF-8"?>
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="size" xml:lang="fr">
    <refnamediv>
        <refname>size</refname>
        <refpurpose>taille d'un objet</refpurpose>
    </refnamediv>
    <refsynopsisdiv>
        <title>Séquence d'appel</title>
        <synopsis>
            sz = size(x)
            [n1, n2] = size(x)
            [n1, n2, n3, ...] = size(x)
            n = size(x, sel)
        </synopsis>
    </refsynopsisdiv>
    <refsection>
        <title>Paramètres</title>
        <variablelist>
            <varlistentry>
                <term>x</term>
                <listitem>
                    <para>Un tableau 2D ou nD de tout type ou une liste</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>sz</term>
                <listitem>
                    <para>
                        un vecteur <literal>1</literal> par <link linkend="ndims">ndims(x)</link> à éléments entiers entier
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>sel</term>
                <listitem>
                    <para>un scalaire positif à valeur entière ou l'une chaîne de
                        caractères: 'r', 'c' ou '*'
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>n1,n2,...</term>
                <listitem>
                    <para>des nombres à valeurs entières</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>n</term>
                <listitem>
                    <para>un nombre à valeur entière</para>
                </listitem>
            </varlistentry>
        </variablelist>
    </refsection>
    <refsection>
        <title>Description</title>
        <variablelist>
            <varlistentry>
                <term>Appliquée à :</term>
                <listitem>
                    <para>une matrice (constante, polynomiale, de chaînes de caractères,
                        booléenne, rationnelle)
                    </para>
                    <itemizedlist>
                        <listitem>
                            <literal>sz = size(x)</literal>

                            retourne un vecteur

                            <literal>1</literal>

                            par

                            <literal>ndims(x)</literal>

                            . Chaque élément donne la valeur de la dimension correspondante.
                        </listitem>
                        <listitem>
                            <literal>[n1, n2, ...] = size(x)</literal>

                            , la fonction retourne dans chaque argument la valeur de la dimension correspondante.
                        </listitem>
                        <listitem>
                            La syntaxe

                            <literal>n = size(x, sel)</literal>

                            peut-être utilisée pour préciser quelle est la dimension demandée

                            <itemizedlist mark="dash"><listitem>
                                    Assigner 1 ou 'r' à <literal>sel</literal> pour
                                    obtenir le nombre de lignes
                                </listitem>
                                <listitem>
                                    Assigner 2 ou 'c' à <literal>sel</literal> pour
                                    obtenir le nombre de colonnes
                                </listitem>
                                <listitem>
                                    Assigner m à <literal>sel</literal> pour obtenir la
                                    valeur de la m ième dimension
                                </listitem>
                                <listitem>
                                    Assigner '*' à <literal>sel</literal> pour obtenir
                                    le produit des dimensions
                                </listitem>
                            </itemizedlist>


                        </listitem>
                    </itemizedlist>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>Appliquée à :</term>
                <listitem>
                    <para>une liste, size en renvoie le nombre d'éléments. Dans ce cas
                        seule la syntaxe <literal>y = size(x)</literal> peut être
                        utilisée.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>Appliquée à :</term>
                <listitem>
                    <para>
                        un système dynamique linéaire, <literal>y= size(x)</literal>
                        renvoie le vecteur ligne <literal>y</literal> = [nombre de sorties,
                        nombre d'entrées] c'est à dire les dimensions de la matrice de
                        transfert correspondante. La syntaxe <literal>[nr, nc] =
                            size(x)
                        </literal>
                        est aussi valide (avec <literal>(nr, nc) =
                            (y(1),y(2))
                        </literal>
                        .Si <literal>x</literal> est un système
                        dynamique linéaire donnée par sa représentation d'état, alors
                        <literal> [nr, nc, nx] = size(x) </literal> renvoie de plus
                        <literal>nx</literal> la dimension de la matrice
                        <literal>A</literal> de <literal>x</literal> (la dimension de
                        l'état).
                    </para>
                </listitem>
            </varlistentry>
        </variablelist>
    </refsection>
    <refsection>
        <title>Exemples</title>
        <programlisting role="example">[n, m] = size(rand(3, 2))
            [n, m] = size(['a', 'b'; 'c', 'd'])

            x = ssrand(3,2,4);
            [ny, nu] = size(x)
            [ny, nu] = size(ss2tf(x))
            [ny, nu, nx] = size(x)

            // Renvoie le nombre de ligne
            n = size(rand(3, 2), "r")
            // Renvoie le nombre de colonnes
            m = size(rand(3, 2), "c")
            // Renvoie le produit des dimensions
            nm = size(rand(3, 2), "*")
        </programlisting>
    </refsection>
    <refsection role="see also">
        <title>Voir aussi</title>
        <simplelist type="inline">
            <member>
                <link linkend="length">length</link>
            </member>
            <member>
                <link linkend="ndims">ndims</link>
            </member>
            <member>
                <link linkend="syslin">syslin</link>
            </member>
        </simplelist>
    </refsection>
</refentry>
