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 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
|
<?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" version="5.0-subset Scilab" xml:lang="fr" xml:id="tlist">
<info>
<pubdate>$LastChangedDate$</pubdate>
</info>
<refnamediv>
<refname>tlist</refname>
<refpurpose> Objet Scilab. Définition d'une liste typée </refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Séquence d'appel</title>
<synopsis>tlist(typ,a1,....an )</synopsis>
</refsynopsisdiv>
<refsection>
<title>Paramètres</title>
<variablelist>
<varlistentry>
<term>typ </term>
<listitem>
<para>chaîne de caractères ou matrice de chaînes de caractères
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>ai </term>
<listitem>
<para>objet Scilab (<literal>matrice, liste, chaîne...</literal>).
</para>
</listitem>
</varlistentry>
</variablelist>
</refsection>
<refsection>
<title>Description</title>
<para>
Crée une <literal>liste typée</literal> avec les éléments <literal>ai</literal>. L'argument <literal>typ</literal>
spécifie le nom du type. L'utilisateur peut redéfinir
les opérateurs et primitives de Scilab pour ces nouveaux objets à l'aide de fonctions Scilab (voir <literal>overloading</literal>). La seule différence entre les listes typées et les listes (voir <literal>list</literal>)
est la valeur numérique du type (16 au lieu de 15).
</para>
<para><literal>typ(1)</literal> spécifie le nom du type (cette chaîne de caractères est utilisée dans les noms des fonctions surchargeant les opérateurs et primitives).
</para>
<para>
S'il est spécifié, <literal>typ(i)</literal> donne le nom formel de l'élément <literal>i+1</literal> (voir plus bas dans les exemples).
</para>
<para>
Les opérations standard sur les listes fonctionnent similairement pour les listes typées (tlist).
</para>
<para>
extraction
: <literal>[x,y,z...]=l(v)</literal> ou <literal>v</literal> est un vecteur d'indices;
<literal>[x,y,z]=l(:)</literal> extrait tous les éléments.
</para>
<para>
insertion
: <literal>l(i)=a</literal>
</para>
<para>
suppression
: <literal>l(i)=null()</literal> supprime le i-ème élément de la <literal>tlist l</literal>.
</para>
<para>
affichage
</para>
<para>
De plus si les composantes <literal>typ(2:n+1)</literal> sont spécifiées, les éléments peuvent être désignés par leur noms formels.
</para>
<para>
Voici quelques exemples d'utilisation des liste typées :
</para>
<para>
Dans Scilab, les systèmes dynamiques linéaires sont définis par une liste typée :
le quadruplet <literal>[A,B,C,D]</literal> est représenté par la tlist
<literal>Sys=tlist(['lss';'A';'B';'C';'D';'X0';'dt'],A,B,C,D,x0,'c')</literal>
et cette tlist spécifique est créée par la fonction <literal>syslin</literal>.
</para>
<para>
Sys(2), Sys('A') ou Sys.A est la matrice d'état et Sys('dt') ou Sys.dt est le domaine temporel.
</para>
<para>
Une matrice rationnelle <literal>H</literal> est représentée par la tlist
<literal>H=tlist(['r';'num';'den';'dt'],Num,Den,[])</literal> où <literal>Num</literal> et <literal>Den</literal> sont deux
matrices polynomiales et un système dynamique linéaire (en temps continu) peut être créé sous la forme d'une
matrice de transfert <literal>H</literal> par <literal>syslin('c',H)</literal>.
</para>
<para>
H(2), H('num') ou H.num est le numérateur de la matrice de transfert
</para>
</refsection>
<refsection>
<title>Exemples</title>
<programlisting role="example"><![CDATA[
// tlist creation
t = tlist(["listtype","field1","field2"], [], []);
t.field1(1) = 10;
t.field1(2) = 20;
t.field2(1) = "Scilab";
t.field2(2) = "tlist";
t.field2(3) = "example";
// Fields contents display
disp(t.field1)
disp(t.field2)
// Generic tlist display
disp(t)
// Overloading display for this type of tlist
function %listtype_p(mytlist)
f = fieldnames(mytlist);
// typeof(mytlist) <=> f(1)
mprintf("Displaying a tlist of type: %s\n", typeof(mytlist));
mprintf("\n");
mprintf("-- Field ''%s'' --\n", f(1));
mprintf("Contents: %s\n", sci2exp(mytlist(f(1))));
mprintf("\n");
mprintf("-- Field ''%s'' --\n", f(2));
mprintf("Contents: %s\n", sci2exp(mytlist(f(2))));
endfunction
// Display using overloading function
disp(t)
]]></programlisting>
</refsection>
<refsection>
<title>Voir Aussi</title>
<simplelist type="inline">
<member>
<link linkend="null">null</link>
</member>
<member>
<link linkend="percent">percent</link>
</member>
<member>
<link linkend="syslin">syslin</link>
</member>
<member>
<link linkend="list">list</link>
</member>
</simplelist>
</refsection>
</refentry>
|