<?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:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="struct">
    <refnamediv>
        <refname>struct</refname>
        <refpurpose>creer une struct</refpurpose>
    </refnamediv>
    <refsynopsisdiv>
        <title>Séquence d'appel</title>
        <synopsis>st=struct(field1,value1,field2,value2, ...)</synopsis>
    </refsynopsisdiv>
    <refsection>
        <title>Paramètres</title>
        <variablelist>
            <varlistentry>
                <term>field1, field2, ...</term>
                <listitem>
                    <para>noms des champs (chaines de caracteres)</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>value1, value2, ...</term>
                <listitem>
                    <para>les valeurs des champs (acceptent tous types de données
                        (double, matrice de doubles,des cells, char, ...)
                    </para>
                </listitem>
            </varlistentry>
        </variablelist>
    </refsection>
    <refsection>
        <title>Description</title>
        <para>
            La fonction <function>struct</function> retourne une struct avec des noms de
            champs <varname>field1</varname>, <varname>field2</varname>, .., et dont les valeurs
            respectives sont <varname>value1</varname>, <varname>value2</varname>,
            ...
        </para>
        <para>
            Notez que <literal>type(st)</literal> retourne <literal>17</literal> et que <literal>typeof(st)</literal> retourne <literal>st</literal>.
        </para>
    </refsection>
    <refsection>
        <title>Exemples</title>
        <programlisting role="example"><![CDATA[
//creer une struct: date les champs sont: 'jour' (valeur: 25), 'mois' (valeur: 'DEC'), 'annee' (valeur: 2006)
date_st=struct('jour',25,'mois','DEC','annee',2006)

// changer la valeur des champs
date_st.jour=19;
date_st.mois='AOU';
date_st.annee=1973;

// ajouter un champ 'semaine'
date_st.semaine=32

//creation d'une structure test
test=struct('list1',list('testlist',1,2), 'matrix1', [1 2 3; 4 5 6], 'boolean1', %t);
//ajout d'un polynôme
s=poly(0,'s')
test.pol1=s;
//ajout d'un système linéaire (représentation d'état)
A=[0,1;0,0]; B=[1;1];C=[1,1];
test.ss1=syslin('c',A,B,C);
//Affichage de la liste
test.list1
getfield(3,test)
//Affichage du type
type(test)
 ]]></programlisting>
    </refsection>
    <refsection role="see also">
        <title>Voir aussi</title>
        <simplelist type="inline">
            <member>
                <link linkend="cell">cell</link>
            </member>
            <member>
                <link linkend="mlist">mlist</link>
            </member>
            <member>
                <link linkend="tlist">tlist</link>
            </member>
            <member>
                <link linkend="getfield">getfield</link>
            </member>
            <member>
                <link linkend="setfield">setfield</link>
            </member>
        </simplelist>
    </refsection>
</refentry>
