~ubuntu-branches/ubuntu/raring/scilab/raring-proposed

« back to all changes in this revision

Viewing changes to modules/core/help/fr_FR/keywords/extraction.xml

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2012-08-30 14:42:38 UTC
  • mfrom: (1.4.7)
  • Revision ID: package-import@ubuntu.com-20120830144238-c1y2og7dbm7m9nig
Tags: 5.4.0-beta-3-1~exp1
* New upstream release
* Update the scirenderer dep
* Get ride of libjhdf5-java dependency

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<?xml version="1.0" encoding="UTF-8"?>
2
2
<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" version="5.0-subset Scilab" xml:id="extraction" xml:lang="fr">
3
 
  <refnamediv>
4
 
    <refname>extraction</refname>
5
 
    <refpurpose>extraction à partir d'une matrice ou d'une liste</refpurpose>
6
 
  </refnamediv>
7
 
  <refsynopsisdiv>
8
 
    <title>Séquence d'appel</title>
9
 
    <synopsis>
10
 
      x(i)
11
 
      x(i,j)
12
 
      x(i,j,k,...)
13
 
      [...]=l(i)
14
 
      [...]=l(k1)...(kn)(i) ou [...]=l(list(k1,...,kn,i))
15
 
      l(k1)...(kn)(i,j) ou l(list(k1,...,kn,list(i,j))
16
 
    </synopsis>
17
 
  </refsynopsisdiv>
18
 
  <refsection>
19
 
    <title>Paramètres</title>
20
 
    <variablelist>
21
 
      <varlistentry>
22
 
        <term>x </term>
23
 
        <listitem>
24
 
          <para>matrice de tout type</para>
25
 
        </listitem>
26
 
      </varlistentry>
27
 
      <varlistentry>
28
 
        <term>l</term>
29
 
        <listitem>
30
 
          <para>liste</para>
31
 
        </listitem>
32
 
      </varlistentry>
33
 
      <varlistentry>
34
 
        <term>i,j, k, ..</term>
35
 
        <listitem>
36
 
          <para>indices</para>
37
 
        </listitem>
38
 
      </varlistentry>
39
 
      <varlistentry>
40
 
        <term>k1,...kn</term>
41
 
        <listitem>
42
 
          <para>indices à valeurs entières</para>
43
 
        </listitem>
44
 
      </varlistentry>
45
 
    </variablelist>
46
 
  </refsection>
47
 
  <refsection>
48
 
    <title>Description</title>
49
 
    <variablelist>
50
 
      <varlistentry>
51
 
        <term>CAS DES MATRICES</term>
52
 
        <listitem>
53
 
          <para>
54
 
            <literal>i</literal>, <literal>j</literal>,
55
 
            <literal>k</literal>, ... peuvent être :
56
 
          </para>
57
 
          <variablelist>
58
 
            <varlistentry>
59
 
              <term>Un scalaire, un vecteur ou une matrice à éléments
60
 
                positifs.
61
 
              </term>
62
 
              <listitem>
63
 
                <itemizedlist>
64
 
                  <listitem>
65
 
                    <para>
66
 
                      <literal>r=x(i,j)</literal> construit la matrice
67
 
                      <literal>r</literal> telle que:
68
 
                    </para>
69
 
                    <para>
70
 
                      <literal>r(l,k)=x(int(i(l)),int(j(k)))</literal>
71
 
                    </para>
72
 
                    <para>
73
 
                      pour <literal>l</literal> variant de 1 à
74
 
                      <literal>size(i,'*')</literal>
75
 
                    </para>
76
 
                    <para>
77
 
                      et <literal>k</literal> variant de 1 à
78
 
                      <literal>size(j,'*')</literal>.
79
 
                    </para>
80
 
                    <para>
81
 
                      La valeur maximale de <literal>i</literal> (resp.
82
 
                      <literal>j</literal>) doit être inférieure ou égale à
83
 
                      <literal>size(x,1)</literal> (resp.
84
 
                      <literal>size(x,2)</literal>).
85
 
                    </para>
86
 
                  </listitem>
87
 
                  <listitem>
88
 
                    <para>
89
 
                      <literal>r=x(i)</literal> où <literal>x</literal>
90
 
                      est une matrice 1 x 1, construit la matrice
91
 
                      <literal>r</literal> telle que
92
 
                      <literal>r(l,k)=x(int(i(l)),int(i(k)))</literal> pour
93
 
                      <literal>l</literal> variant de 1 à
94
 
                      <literal>size(i,1)</literal> et <literal>k</literal>
95
 
                      variant de 1 à <literal>size(i,2)</literal>. Noter que
96
 
                      dans ce cas l'indice <literal>i</literal> est valable si
97
 
                      toutes ses composantes sont égales à 1.
98
 
                    </para>
99
 
                  </listitem>
100
 
                  <listitem>
101
 
                    <para>
102
 
                      <literal>r=x(i)</literal> avec <literal>x</literal>
103
 
                      un vecteur ligne, construit le vecteur ligne
104
 
                      <literal>r</literal> tel que
105
 
                      <literal>r(l)=x(int(i(l)))</literal> pour
106
 
                      <literal>l</literal> entre 1 et
107
 
                      <literal>size(i,'*')</literal> La valeur maximale de
108
 
                      <literal>i</literal> doit être inférieure ou égale à
109
 
                      <literal>size(x,'*')</literal>.
110
 
                    </para>
111
 
                  </listitem>
112
 
                  <listitem>
113
 
                    <para>
114
 
                      <literal>r=x(i)</literal> avec <literal>x</literal>
115
 
                      une matrice à une ou plusieurs colonnes, construit la
116
 
                      matrice <literal>r</literal> telle que
117
 
                      <literal>r(l)</literal> (<literal>l</literal> variant de 1
118
 
                      à <literal>size(i,'*')</literal>) contient le terme numéro
119
 
                      <literal>int(i(l))</literal> du vecteur colonne issu de la
120
 
                      concaténation des colonnes de <literal>x</literal>. La
121
 
                      valeur maximale de <literal>i</literal> doit être
122
 
                      inférieure ou égale à
123
 
                      <literal>size(x,'*')</literal>.
124
 
                    </para>
125
 
                  </listitem>
126
 
                </itemizedlist>
127
 
              </listitem>
128
 
            </varlistentry>
129
 
            <varlistentry>
130
 
              <term>Le symbole</term>
131
 
              <listitem>
132
 
                <para>
133
 
                  <literal> : </literal> signifiant "tous les
134
 
                  éléments".
135
 
                </para>
136
 
                <itemizedlist>
137
 
                  <listitem>
138
 
                    <para>
139
 
                      <literal>r=x(i,:)</literal> construit la matrice
140
 
                      <literal>r</literal> telle que
141
 
                      <literal>r(l,k)=x(int(i(l)),k))</literal> pour
142
 
                      <literal>l</literal> variant de 1 à
143
 
                      <literal>size(i,'*')</literal> et <literal>k</literal>
144
 
                      variant de 1 à <literal>size(x,2)</literal>
145
 
                    </para>
146
 
                  </listitem>
147
 
                  <listitem>
148
 
                    <para>
149
 
                      <literal>r=x(:,j)</literal> construit la matrice
150
 
                      <literal>r</literal> telle que
151
 
                      <literal>r(l,k)=x(l,int(j(k)))</literal> pour
152
 
                      <literal>l</literal> variant de 1 à
153
 
                      <literal>size(r,1)</literal> et <literal>k</literal>
154
 
                      variant de 1 à <literal>size(j,'*')</literal>.
155
 
                    </para>
156
 
                  </listitem>
157
 
                  <listitem>
158
 
                    <para>
159
 
                      <literal>r=x(:)</literal> construit le vecteur
160
 
                      colonne <literal>r</literal> obtenu par concaténation des
161
 
                      colonnes de <literal> x</literal>. Cette commande est
162
 
                      équivalente à
163
 
                      <literal>r=matrix(x,size(x,'*'),1)</literal>.
164
 
                    </para>
165
 
                  </listitem>
166
 
                </itemizedlist>
167
 
              </listitem>
168
 
            </varlistentry>
169
 
            <varlistentry>
170
 
              <term>Un vecteur de booléens</term>
171
 
              <listitem>
172
 
                <para>
173
 
                  Si un indice (<literal>i</literal> ou
174
 
                  <literal>j</literal> ) est un vecteur de booléen il est
175
 
                  interprété comme <literal>find(i)</literal> ou
176
 
                  <literal>find(j)</literal>, respectivement.
177
 
                </para>
178
 
              </listitem>
179
 
            </varlistentry>
180
 
            <varlistentry>
181
 
              <term>Un polynôme</term>
182
 
              <listitem>
183
 
                <para>
184
 
                  Si un indice (<literal>i</literal> ou
185
 
                  <literal>j</literal> ) est un vecteur de polynômes ou de
186
 
                  polynômes implicites il est interprété comme
187
 
                  <literal>horner(i,m)</literal> ou
188
 
                  <literal>horner(j,n)</literal>, respectivement, où
189
 
                  <literal>m</literal> et <literal>n</literal> sont les
190
 
                  dimensions de <literal>x</literal> associées. Même si cette
191
 
                  fonctionnalité marche pour tous les polynômes, il est
192
 
                  recommandé d'utiliser des polynômes dans <literal>$</literal>
193
 
                  par souci de lisibilité.
194
 
                </para>
195
 
              </listitem>
196
 
            </varlistentry>
197
 
          </variablelist>
198
 
          <para>Dans le case des matrices ayant plus de 2 dimensions
199
 
            (voir:<link linkend="hypermatrices">hypermatrices</link>) la
200
 
            dimensionalité est automatiquement réduite si les dimensions les
201
 
            plus à droite sont égales à 1.
202
 
          </para>
203
 
        </listitem>
204
 
      </varlistentry>
205
 
      <varlistentry>
206
 
        <term>CAS DES LISTES</term>
207
 
        <listitem>
208
 
          <para>
209
 
            S'ils sont présents, les <literal>ki</literal> donnent le
210
 
            chemin vers un terme d'une sous-liste de la liste
211
 
            <literal>l</literal>. Ils permettent de faire une extraction
212
 
            récursive directe sans utiliser de variable intermédiaire. 
213
 
          </para>
214
 
          <para> Les instructions:</para>
215
 
          <para>
216
 
            <literal>[...]=l(k1)...(kn)(i) et
217
 
              [...]=l(list(k1,...,kn,i))
218
 
            </literal>
219
 
          </para>
220
 
          <para>sont interprétées comme :</para>
221
 
          <para>
222
 
            <literal>lk1 = l(k1)</literal>, <literal> .. = .. </literal>,
223
 
            <literal>lkn = lkn-1(kn)</literal>, <literal>[...] =
224
 
              lkn(i)
225
 
            </literal>
226
 
          </para>
227
 
          <para>De même, les instructions</para>
228
 
          <para>
229
 
            <literal>l(k1)...(kn)(i,j) et
230
 
              l(list(k1,...,kn,list(i,j))
231
 
            </literal>
232
 
          </para>
233
 
          <para>sont interprétées comme :</para>
234
 
          <para>
235
 
            <literal>lk1 = l(k1)</literal>, <literal> .. = .. </literal>,
236
 
            <literal>lkn = lkn-1(kn)</literal>,
237
 
            <literal>lkn(i,j)</literal>
238
 
          </para>
239
 
          <variablelist>
240
 
            <varlistentry>
241
 
              <term>
242
 
                <literal>i</literal> et <literal>j</literal>, peuvent être
243
 
                :
244
 
              </term>
245
 
              <listitem>
246
 
                <variablelist>
247
 
                  <varlistentry>
248
 
                    <term>un scalaire, un vecteur ou matrice à termes positifs </term>
249
 
                    <listitem>
250
 
                      <para>
251
 
                        <literal>[r1,...rn]=l(i)</literal> extrait les termes
252
 
                        <literal>i(k)</literal> de la liste l et les stocke dans les
253
 
                        variables <literal>rk</literal> pour <literal>k</literal>
254
 
                        variant de 1 à <literal>size(i,'*')</literal>
255
 
                      </para>
256
 
                    </listitem>
257
 
                  </varlistentry>
258
 
                  <varlistentry>
259
 
                    <term>
260
 
                      le symbole <literal> : </literal> 
261
 
                    </term>
262
 
                    <listitem>
263
 
                      <para> qui représente "tous les éléments".</para>
264
 
                    </listitem>
265
 
                  </varlistentry>
266
 
                  <varlistentry>
267
 
                    <term>un vecteur de booléens</term>
268
 
                    <listitem>
269
 
                      <para>
270
 
                        Si <literal>i</literal> est un vecteur de booléens, il
271
 
                        est interprété comme <literal>find(i)</literal>.
272
 
                      </para>
273
 
                    </listitem>
274
 
                  </varlistentry>
275
 
                  <varlistentry>
276
 
                    <term>un polynôme</term>
277
 
                    <listitem>
278
 
                      <para>
279
 
                        Si <literal>i</literal> est un vecteur de polynômes ou
280
 
                        de polynômes implicites il est interprété comme
281
 
                        <literal>horner(i,m)</literal> où
282
 
                        <literal>m=size(l)</literal>. Même si cette fonctionnalité
283
 
                        marche pour tous les polynômes, il est recommandé d'utiliser
284
 
                        des polynômes dans <literal>$</literal> par souci de
285
 
                        lisibilité.
286
 
                      </para>
287
 
                    </listitem>
288
 
                  </varlistentry>
289
 
                </variablelist>
290
 
              </listitem>
291
 
            </varlistentry>
292
 
            <varlistentry>
293
 
              <term>
294
 
                <literal>k1</literal>,..<literal>kn</literal> peuvent être :
295
 
              </term>
296
 
              <listitem>
297
 
                <variablelist>
298
 
                  <varlistentry>
299
 
                    <term>un nombre réel positif à valeur entière</term>
300
 
                    <listitem>
301
 
                      <para/>
302
 
                    </listitem>
303
 
                  </varlistentry>
304
 
                  <varlistentry>
305
 
                    <term>un polynôme</term>
306
 
                    <listitem>
307
 
                      <para>un polynôme, interprété comme
308
 
                        <literal>horner(ki,m)</literal> ou <literal>m</literal> est la
309
 
                        taille de la sous-liste correspondante.
310
 
                      </para>
311
 
                    </listitem>
312
 
                  </varlistentry>
313
 
                  <varlistentry>
314
 
                    <term>une chaîne de caractères</term>
315
 
                    <listitem>
316
 
                      <para>associée à un nom d'entrée de sous-liste</para>
317
 
                    </listitem>
318
 
                  </varlistentry>
319
 
                </variablelist>
320
 
              </listitem>
321
 
            </varlistentry>
322
 
          </variablelist>
323
 
          <para>Quand le chemin désigne plusieurs termes d'une liste
324
 
            l'instruction doit avoir autant de termes dans la liste des
325
 
            arguments du membre de gauche que le nombre de termes sélectionnés.
326
 
            Mais si la syntaxe d'extraction est utilisée dans les arguments
327
 
            d'entrée d'une fonction, chaque terme renvoyé est ajouté aux
328
 
            arguments d'entrée.
329
 
          </para>
330
 
          <para>
331
 
            Notez que <literal>l(list())</literal> est identique à
332
 
            <literal>l</literal>.
333
 
          </para>
334
 
        </listitem>
335
 
      </varlistentry>
336
 
    </variablelist>
337
 
  </refsection>
338
 
  <refsection>
339
 
    <title>REMARQUES</title>
340
 
    <para>Pour les matrices rationnelles et les systèmes dynamiques linéaires
341
 
      stockés sous forme de représentation d'état, la syntaxe
342
 
      <literal>x(i)</literal> ne doit pas être utilisée pour l'extraction des
343
 
      éléments d'un vecteur, à cause de la confusion possible avec l'extraction
344
 
      des éléments de liste. La syntaxe <literal>x(1,j)</literal> où
345
 
      <literal>x(i,1)</literal> doit être utilisée dans ce cas.
346
 
    </para>
347
 
  </refsection>
348
 
  <refsection>
349
 
    <title>Exemples</title>
350
 
    <programlisting role="example"><![CDATA[ 
 
3
    <refnamediv>
 
4
        <refname>extraction</refname>
 
5
        <refpurpose>extraction à partir d'une matrice ou d'une liste</refpurpose>
 
6
    </refnamediv>
 
7
    <refsynopsisdiv>
 
8
        <title>Séquence d'appel</title>
 
9
        <synopsis>
 
10
            x(i)
 
11
            x(i,j)
 
12
            x(i,j,k,...)
 
13
            [...]=l(i)
 
14
            [...]=l(k1)...(kn)(i) ou [...]=l(list(k1,...,kn,i))
 
15
            l(k1)...(kn)(i,j) ou l(list(k1,...,kn,list(i,j))
 
16
        </synopsis>
 
17
    </refsynopsisdiv>
 
18
    <refsection>
 
19
        <title>Paramètres</title>
 
20
        <variablelist>
 
21
            <varlistentry>
 
22
                <term>x </term>
 
23
                <listitem>
 
24
                    <para>matrice de tout type</para>
 
25
                </listitem>
 
26
            </varlistentry>
 
27
            <varlistentry>
 
28
                <term>l</term>
 
29
                <listitem>
 
30
                    <para>liste</para>
 
31
                </listitem>
 
32
            </varlistentry>
 
33
            <varlistentry>
 
34
                <term>i,j, k, ..</term>
 
35
                <listitem>
 
36
                    <para>indices</para>
 
37
                </listitem>
 
38
            </varlistentry>
 
39
            <varlistentry>
 
40
                <term>k1,...kn</term>
 
41
                <listitem>
 
42
                    <para>indices à valeurs entières</para>
 
43
                </listitem>
 
44
            </varlistentry>
 
45
        </variablelist>
 
46
    </refsection>
 
47
    <refsection>
 
48
        <title>Description</title>
 
49
        <variablelist>
 
50
            <varlistentry>
 
51
                <term>CAS DES MATRICES</term>
 
52
                <listitem>
 
53
                    <para>
 
54
                        <literal>i</literal>, <literal>j</literal>,
 
55
                        <literal>k</literal>, ... peuvent être :
 
56
                    </para>
 
57
                    <variablelist>
 
58
                        <varlistentry>
 
59
                            <term>Un scalaire, un vecteur ou une matrice à éléments
 
60
                                positifs.
 
61
                            </term>
 
62
                            <listitem>
 
63
                                <itemizedlist>
 
64
                                    <listitem>
 
65
                                        <para>
 
66
                                            <literal>r=x(i,j)</literal> construit la matrice
 
67
                                            <literal>r</literal> telle que:
 
68
                                        </para>
 
69
                                        <para>
 
70
                                            <literal>r(l,k)=x(int(i(l)),int(j(k)))</literal>
 
71
                                        </para>
 
72
                                        <para>
 
73
                                            pour <literal>l</literal> variant de 1 à
 
74
                                            <literal>size(i,'*')</literal>
 
75
                                        </para>
 
76
                                        <para>
 
77
                                            et <literal>k</literal> variant de 1 à
 
78
                                            <literal>size(j,'*')</literal>.
 
79
                                        </para>
 
80
                                        <para>
 
81
                                            La valeur maximale de <literal>i</literal> (resp.
 
82
                                            <literal>j</literal>) doit être inférieure ou égale à
 
83
                                            <literal>size(x,1)</literal> (resp.
 
84
                                            <literal>size(x,2)</literal>).
 
85
                                        </para>
 
86
                                    </listitem>
 
87
                                    <listitem>
 
88
                                        <para>
 
89
                                            <literal>r=x(i)</literal> où <literal>x</literal>
 
90
                                            est une matrice 1 x 1, construit la matrice
 
91
                                            <literal>r</literal> telle que
 
92
                                            <literal>r(l,k)=x(int(i(l)),int(i(k)))</literal> pour
 
93
                                            <literal>l</literal> variant de 1 à
 
94
                                            <literal>size(i,1)</literal> et <literal>k</literal>
 
95
                                            variant de 1 à <literal>size(i,2)</literal>. Noter que
 
96
                                            dans ce cas l'indice <literal>i</literal> est valable si
 
97
                                            toutes ses composantes sont égales à 1.
 
98
                                        </para>
 
99
                                    </listitem>
 
100
                                    <listitem>
 
101
                                        <para>
 
102
                                            <literal>r=x(i)</literal> avec <literal>x</literal>
 
103
                                            un vecteur ligne, construit le vecteur ligne
 
104
                                            <literal>r</literal> tel que
 
105
                                            <literal>r(l)=x(int(i(l)))</literal> pour
 
106
                                            <literal>l</literal> entre 1 et
 
107
                                            <literal>size(i,'*')</literal> La valeur maximale de
 
108
                                            <literal>i</literal> doit être inférieure ou égale à
 
109
                                            <literal>size(x,'*')</literal>.
 
110
                                        </para>
 
111
                                    </listitem>
 
112
                                    <listitem>
 
113
                                        <para>
 
114
                                            <literal>r=x(i)</literal> avec <literal>x</literal>
 
115
                                            une matrice à une ou plusieurs colonnes, construit la
 
116
                                            matrice <literal>r</literal> telle que
 
117
                                            <literal>r(l)</literal> (<literal>l</literal> variant de 1
 
118
                                            à <literal>size(i,'*')</literal>) contient le terme numéro
 
119
                                            <literal>int(i(l))</literal> du vecteur colonne issu de la
 
120
                                            concaténation des colonnes de <literal>x</literal>. La
 
121
                                            valeur maximale de <literal>i</literal> doit être
 
122
                                            inférieure ou égale à
 
123
                                            <literal>size(x,'*')</literal>.
 
124
                                        </para>
 
125
                                    </listitem>
 
126
                                </itemizedlist>
 
127
                            </listitem>
 
128
                        </varlistentry>
 
129
                        <varlistentry>
 
130
                            <term>Le symbole</term>
 
131
                            <listitem>
 
132
                                <para>
 
133
                                    <literal> : </literal> signifiant "tous les
 
134
                                    éléments".
 
135
                                </para>
 
136
                                <itemizedlist>
 
137
                                    <listitem>
 
138
                                        <para>
 
139
                                            <literal>r=x(i,:)</literal> construit la matrice
 
140
                                            <literal>r</literal> telle que
 
141
                                            <literal>r(l,k)=x(int(i(l)),k))</literal> pour
 
142
                                            <literal>l</literal> variant de 1 à
 
143
                                            <literal>size(i,'*')</literal> et <literal>k</literal>
 
144
                                            variant de 1 à <literal>size(x,2)</literal>
 
145
                                        </para>
 
146
                                    </listitem>
 
147
                                    <listitem>
 
148
                                        <para>
 
149
                                            <literal>r=x(:,j)</literal> construit la matrice
 
150
                                            <literal>r</literal> telle que
 
151
                                            <literal>r(l,k)=x(l,int(j(k)))</literal> pour
 
152
                                            <literal>l</literal> variant de 1 à
 
153
                                            <literal>size(r,1)</literal> et <literal>k</literal>
 
154
                                            variant de 1 à <literal>size(j,'*')</literal>.
 
155
                                        </para>
 
156
                                    </listitem>
 
157
                                    <listitem>
 
158
                                        <para>
 
159
                                            <literal>r=x(:)</literal> construit le vecteur
 
160
                                            colonne <literal>r</literal> obtenu par concaténation des
 
161
                                            colonnes de <literal> x</literal>. Cette commande est
 
162
                                            équivalente à
 
163
                                            <literal>r=matrix(x,size(x,'*'),1)</literal>.
 
164
                                        </para>
 
165
                                    </listitem>
 
166
                                </itemizedlist>
 
167
                            </listitem>
 
168
                        </varlistentry>
 
169
                        <varlistentry>
 
170
                            <term>Un vecteur de booléens</term>
 
171
                            <listitem>
 
172
                                <para>
 
173
                                    Si un indice (<literal>i</literal> ou
 
174
                                    <literal>j</literal> ) est un vecteur de booléen il est
 
175
                                    interprété comme <literal>find(i)</literal> ou
 
176
                                    <literal>find(j)</literal>, respectivement.
 
177
                                </para>
 
178
                            </listitem>
 
179
                        </varlistentry>
 
180
                        <varlistentry>
 
181
                            <term>Un polynôme</term>
 
182
                            <listitem>
 
183
                                <para>
 
184
                                    Si un indice (<literal>i</literal> ou
 
185
                                    <literal>j</literal> ) est un vecteur de polynômes ou de
 
186
                                    polynômes implicites il est interprété comme
 
187
                                    <literal>horner(i,m)</literal> ou
 
188
                                    <literal>horner(j,n)</literal>, respectivement, où
 
189
                                    <literal>m</literal> et <literal>n</literal> sont les
 
190
                                    dimensions de <literal>x</literal> associées. Même si cette
 
191
                                    fonctionnalité marche pour tous les polynômes, il est
 
192
                                    recommandé d'utiliser des polynômes dans <literal>$</literal>
 
193
                                    par souci de lisibilité.
 
194
                                </para>
 
195
                            </listitem>
 
196
                        </varlistentry>
 
197
                    </variablelist>
 
198
                    <para>Dans le case des matrices ayant plus de 2 dimensions
 
199
                        (voir:<link linkend="hypermatrices">hypermatrices</link>) la
 
200
                        dimensionalité est automatiquement réduite si les dimensions les
 
201
                        plus à droite sont égales à 1.
 
202
                    </para>
 
203
                </listitem>
 
204
            </varlistentry>
 
205
            <varlistentry>
 
206
                <term>CAS DES LISTES</term>
 
207
                <listitem>
 
208
                    <para>
 
209
                        S'ils sont présents, les <literal>ki</literal> donnent le
 
210
                        chemin vers un terme d'une sous-liste de la liste
 
211
                        <literal>l</literal>. Ils permettent de faire une extraction
 
212
                        récursive directe sans utiliser de variable intermédiaire. 
 
213
                    </para>
 
214
                    <para> Les instructions:</para>
 
215
                    <para>
 
216
                        <literal>[...]=l(k1)...(kn)(i) et
 
217
                            [...]=l(list(k1,...,kn,i))
 
218
                        </literal>
 
219
                    </para>
 
220
                    <para>sont interprétées comme :</para>
 
221
                    <para>
 
222
                        <literal>lk1 = l(k1)</literal>, <literal> .. = .. </literal>,
 
223
                        <literal>lkn = lkn-1(kn)</literal>, <literal>[...] =
 
224
                            lkn(i)
 
225
                        </literal>
 
226
                    </para>
 
227
                    <para>De même, les instructions</para>
 
228
                    <para>
 
229
                        <literal>l(k1)...(kn)(i,j) et
 
230
                            l(list(k1,...,kn,list(i,j))
 
231
                        </literal>
 
232
                    </para>
 
233
                    <para>sont interprétées comme :</para>
 
234
                    <para>
 
235
                        <literal>lk1 = l(k1)</literal>, <literal> .. = .. </literal>,
 
236
                        <literal>lkn = lkn-1(kn)</literal>,
 
237
                        <literal>lkn(i,j)</literal>
 
238
                    </para>
 
239
                    <variablelist>
 
240
                        <varlistentry>
 
241
                            <term>
 
242
                                <literal>i</literal> et <literal>j</literal>, peuvent être
 
243
                                :
 
244
                            </term>
 
245
                            <listitem>
 
246
                                <variablelist>
 
247
                                    <varlistentry>
 
248
                                        <term>un scalaire, un vecteur ou matrice à termes positifs </term>
 
249
                                        <listitem>
 
250
                                            <para>
 
251
                                                <literal>[r1,...rn]=l(i)</literal> extrait les termes
 
252
                                                <literal>i(k)</literal> de la liste l et les stocke dans les
 
253
                                                variables <literal>rk</literal> pour <literal>k</literal>
 
254
                                                variant de 1 à <literal>size(i,'*')</literal>
 
255
                                            </para>
 
256
                                        </listitem>
 
257
                                    </varlistentry>
 
258
                                    <varlistentry>
 
259
                                        <term>
 
260
                                            le symbole <literal> : </literal> 
 
261
                                        </term>
 
262
                                        <listitem>
 
263
                                            <para> qui représente "tous les éléments".</para>
 
264
                                        </listitem>
 
265
                                    </varlistentry>
 
266
                                    <varlistentry>
 
267
                                        <term>un vecteur de booléens</term>
 
268
                                        <listitem>
 
269
                                            <para>
 
270
                                                Si <literal>i</literal> est un vecteur de booléens, il
 
271
                                                est interprété comme <literal>find(i)</literal>.
 
272
                                            </para>
 
273
                                        </listitem>
 
274
                                    </varlistentry>
 
275
                                    <varlistentry>
 
276
                                        <term>un polynôme</term>
 
277
                                        <listitem>
 
278
                                            <para>
 
279
                                                Si <literal>i</literal> est un vecteur de polynômes ou
 
280
                                                de polynômes implicites il est interprété comme
 
281
                                                <literal>horner(i,m)</literal> où
 
282
                                                <literal>m=size(l)</literal>. Même si cette fonctionnalité
 
283
                                                marche pour tous les polynômes, il est recommandé d'utiliser
 
284
                                                des polynômes dans <literal>$</literal> par souci de
 
285
                                                lisibilité.
 
286
                                            </para>
 
287
                                        </listitem>
 
288
                                    </varlistentry>
 
289
                                </variablelist>
 
290
                            </listitem>
 
291
                        </varlistentry>
 
292
                        <varlistentry>
 
293
                            <term>
 
294
                                <literal>k1</literal>,..<literal>kn</literal> peuvent être :
 
295
                            </term>
 
296
                            <listitem>
 
297
                                <variablelist>
 
298
                                    <varlistentry>
 
299
                                        <term>un nombre réel positif à valeur entière</term>
 
300
                                        <listitem>
 
301
                                            <para/>
 
302
                                        </listitem>
 
303
                                    </varlistentry>
 
304
                                    <varlistentry>
 
305
                                        <term>un polynôme</term>
 
306
                                        <listitem>
 
307
                                            <para>un polynôme, interprété comme
 
308
                                                <literal>horner(ki,m)</literal> ou <literal>m</literal> est la
 
309
                                                taille de la sous-liste correspondante.
 
310
                                            </para>
 
311
                                        </listitem>
 
312
                                    </varlistentry>
 
313
                                    <varlistentry>
 
314
                                        <term>une chaîne de caractères</term>
 
315
                                        <listitem>
 
316
                                            <para>associée à un nom d'entrée de sous-liste</para>
 
317
                                        </listitem>
 
318
                                    </varlistentry>
 
319
                                </variablelist>
 
320
                            </listitem>
 
321
                        </varlistentry>
 
322
                    </variablelist>
 
323
                    <para>Quand le chemin désigne plusieurs termes d'une liste
 
324
                        l'instruction doit avoir autant de termes dans la liste des
 
325
                        arguments du membre de gauche que le nombre de termes sélectionnés.
 
326
                        Mais si la syntaxe d'extraction est utilisée dans les arguments
 
327
                        d'entrée d'une fonction, chaque terme renvoyé est ajouté aux
 
328
                        arguments d'entrée.
 
329
                    </para>
 
330
                    <para>
 
331
                        Notez que <literal>l(list())</literal> est identique à
 
332
                        <literal>l</literal>.
 
333
                    </para>
 
334
                </listitem>
 
335
            </varlistentry>
 
336
        </variablelist>
 
337
    </refsection>
 
338
    <refsection>
 
339
        <title>REMARQUES</title>
 
340
        <para>Pour les matrices rationnelles et les systèmes dynamiques linéaires
 
341
            stockés sous forme de représentation d'état, la syntaxe
 
342
            <literal>x(i)</literal> ne doit pas être utilisée pour l'extraction des
 
343
            éléments d'un vecteur, à cause de la confusion possible avec l'extraction
 
344
            des éléments de liste. La syntaxe <literal>x(1,j)</literal> où
 
345
            <literal>x(i,1)</literal> doit être utilisée dans ce cas.
 
346
        </para>
 
347
    </refsection>
 
348
    <refsection>
 
349
        <title>Exemples</title>
 
350
        <programlisting role="example"><![CDATA[ 
351
351
// CAS DES MATRICES
352
352
a=[1 2 3;4 5 6]
353
353
a(1,2)
382
382
dts(2)('b')(1,2)
383
383
[a,b]=dts(2)(['a','b'])
384
384
 ]]></programlisting>
385
 
  </refsection>
386
 
  <refsection role="see also">
387
 
    <title>Voir aussi</title>
388
 
    <simplelist type="inline">
389
 
      <member>
390
 
        <link linkend="find">find</link>
391
 
      </member>
392
 
      <member>
393
 
        <link linkend="horner">horner</link>
394
 
      </member>
395
 
      <member>
396
 
        <link linkend="parents">parents</link>
397
 
      </member>
398
 
    </simplelist>
399
 
  </refsection>
 
385
    </refsection>
 
386
    <refsection role="see also">
 
387
        <title>Voir aussi</title>
 
388
        <simplelist type="inline">
 
389
            <member>
 
390
                <link linkend="find">find</link>
 
391
            </member>
 
392
            <member>
 
393
                <link linkend="horner">horner</link>
 
394
            </member>
 
395
            <member>
 
396
                <link linkend="parents">parents</link>
 
397
            </member>
 
398
        </simplelist>
 
399
    </refsection>
400
400
</refentry>