help flipdim: description fixed and page improved
[scilab.git] / scilab / modules / elementary_functions / help / fr_FR / matrixmanipulation / flipdim.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4  * Copyright (C) 2008 - INRIA - Farid BELAHCENE
5  * Copyright (C) 2013, 2016 - Samuel GOUGEON : 5.5.0 extensions, page overhauled
6  *
7  * Copyright (C) 2012 - 2016 - Scilab Enterprises
8  *
9  * This file is hereby licensed under the terms of the GNU GPL v2.0,
10  * pursuant to article 5.3.4 of the CeCILL v.2.1.
11  * This file was originally licensed under the terms of the CeCILL v2.1,
12  * and continues to be available under such terms.
13  * For more information, see the COPYING file which you should have received
14  * along with this program.
15  *
16  -->
17 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
18           xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml"
19           xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook"
20           xmlns:scilab="http://www.scilab.org" xml:id="flipdim" xml:lang="fr">
21     <refnamediv>
22         <refname>flipdim</refname>
23         <refpurpose>
24             inverse l'ordre des (blocs de) lignes, colonnes, pages.. d'une matrice ou hypermatrice
25         </refpurpose>
26     </refnamediv>
27     <refsynopsisdiv>
28         <title>Séquence d'appel</title>
29         <synopsis>
30             y = flipdim(x, dim)
31             y = flipdim(x, dim, blockSize)
32         </synopsis>
33     </refsynopsisdiv>
34     <refsection role="parameters">
35         <title>Paramètres</title>
36         <variablelist>
37             <varlistentry>
38                 <term>x, y</term>
39                 <listitem>
40                     <para>
41                       scalaires, vecteurs, matrices, ou hypermatrices de n'importe quel type de données régulier.
42                       <varname>y</varname> prend la taille de <varname>x</varname>.
43                     </para>
44                 </listitem>
45             </varlistentry>
46             <varlistentry>
47                 <term>dim</term>
48                 <listitem>
49                     <para>
50                         entier positif : n° de la dimension / direction de <literal>x</literal>
51                         selon laquelle l'ordre des éléments de <varname>x</varname> doit être inversé.
52                     </para>
53                 </listitem>
54             </varlistentry>
55             <varlistentry>
56                 <term>blockSize</term>
57                 <listitem>
58                     <para>
59                       entier positif, sous-multiple de <literal>size(x,dim)</literal> :
60                       taille des blocs dont l'ordre doit être inversé. Vaut 1 par défaut.
61                     </para>
62                 </listitem>
63             </varlistentry>
64         </variablelist>
65     </refsection>
66     <refsection role="description">
67         <title>Description</title>
68         <para>
69             <literal>flipdim(x, 1)</literal> inverse l'ordre des
70             <emphasis role="italic">lignes</emphasis> de la matrice ou hypermatrice
71             <varname>x</varname>.
72         </para>
73         <para>
74             <literal>flipdim(x, 2)</literal> inverse l'ordre des
75             <emphasis role="italic">colonnes</emphasis> de <varname>x</varname>.
76         </para>
77         <para>
78             <literal>flipdim(x, 3)</literal> inverse l'ordre des
79             <emphasis role="italic">pages</emphasis> de l'hypermatrice
80             <varname>x</varname>. etc.
81         </para>
82         <para>
83             Le paramètre optionnel <literal>blockSize</literal> permet d'inverser l'ordre des
84             <literal>size(x,1)/blockSize</literal> blocs de <varname>blockSize</varname>
85             lignes de <varname>x</varname> (<literal>dim=1</literal>), ou des
86             <literal>size(x,2)/blockSize</literal> blocs de <varname>blockSize</varname>
87             colonnes (<literal>dim=2</literal>), etc (<literal>dim>2</literal>).
88             À l'intérieur de chaque bloc, l'ordre des éléments (lignes, colonnes, etc) n'est pas modifié.
89         </para>
90     </refsection>
91     <refsection role="examples">
92         <title>Exemples</title>
93         <programlisting role="example"><![CDATA[
94 // Exemple 1 : selon la première dimension
95 x = [1 2 3 4; 5 6 7 8]
96 dim = 1
97 y = flipdim(x, dim)
98
99 // Exemple 2 : selon la deuxième dimension
100 dim = 2
101 y = flipdim(x, dim)
102
103 // Exemple 3 : selon la troisième dimension
104 x = matrix(1:24, [3 2 4])
105 dim = 3
106 y = flipdim(x, dim)
107
108 // Exemple 4 : premier exemple, mais avec des complexes
109 x = [1+%i 2*%i 3 4; 5 6-%i 7 8*%pi*%i]
110 dim = 1
111 y = flipdim(x, dim)
112
113 // Entiers :
114 x = int16(grand(4, 3, 2, "uin", -9, 9))
115 y = flipdim(x, 1)
116
117 // Booléens :
118 x = (grand(3, 4, "uin", -9, 9) > 0)
119 y = flipdim(x, 2)
120
121 // Textes :
122 x = matrix(strsplit("a":"x", 1:23), 4, 6);
123 x = x+x
124 flipdim(x, 2)
125
126 // Polynômes :
127 x = inv_coeff(grand(3, 9, "uin", 0, 3), 2)
128 flipdim(x, 1)
129
130 // Rationals :
131 n = inv_coeff(grand(3, 9, "uin", 0 ,3), 2);
132 d = inv_coeff(grand(3, 9, "uin", 0, 3), 2);
133 r = n./d
134 flipdim(r, 2)
135  ]]></programlisting>
136         <para>
137             Exemples utilisant <literal>blockSize</literal> :
138         </para>
139         <programlisting role="example"><![CDATA[
140 X = [0 1 2 3 4 5 6 7 8 9 10 11];
141 flipdim(X, 2, 2) // => [10 11   8 9   6 7   4 5   2 3   0 1] // Taille du bloc = 2.
142 flipdim(X, 2, 3) // => [9 10 11   6 7 8   3 4 5   0 1 2]
143 flipdim(X, 2, 4) // => [8 9 10 11   4 5 6 7   0 1 2 3]
144 flipdim(X, 2, 6) // => [6 7 8 9 10 11   0 1 2 3 4 5]
145
146 // Erreur si la valeur de blockSize n'est pas sous-multiple de la dimension ciblée de x.
147 y = flipdim(x, 2, 5); // size(X) = [1 12] et blockSize=5 ne divise pas 12.
148  ]]></programlisting>
149     <para>Exemple de résultats :</para>
150     <screen><![CDATA[
151 --> x
152  x  =
153  -5 -2  0  9
154   0 -7 -6  9
155  -1 -8 -7  8
156
157 --> flipdim(x, 1)
158  ans  =
159  -1 -8 -7  8
160   0 -7 -6  9
161  -5 -2  0  9
162
163 --> flipdim(x, 2)
164  ans  =
165   9  0 -2 -5
166   9 -6 -7  0
167   8 -7 -8 -1
168 ]]></screen>
169     <para></para>
170     <screen><![CDATA[
171 --> x
172  x  =
173 (:,:,1)
174   9  4 -3
175  -4 -8 -3
176
177 (:,:,2)
178   5  8  9
179   4  4  9
180
181 --> flipdim(x, 3)
182  ans  =
183 (:,:,1)
184   5  8  9
185   4  4  9
186
187 (:,:,2)
188   9  4 -3
189  -4 -8 -3
190 ]]></screen>
191     <para></para>
192     <screen><![CDATA[
193 --> x
194  x  =
195  -2  3 -5  9 -4 -8
196   2  8  4 -9  6 -6
197  -9  8  3  4 -3  4
198
199 --> flipdim(x, 2, 2)
200  ans  =
201  -4 -8 -5  9 -2  3
202   6 -6  4 -9  2  8
203  -3  4  3  4 -9  8
204
205 --> flipdim(x, 2, 3)
206  ans  =
207   9 -4 -8 -2  3 -5
208  -9  6 -6  2  8  4
209   4 -3  4 -9  8  3
210 ]]></screen>
211     </refsection>
212     <refsection role="see also">
213         <title>Voir aussi</title>
214         <simplelist type="inline">
215             <member>
216                 <link linkend="fftshift">fftshift</link>
217             </member>
218             <member>
219                 <link linkend="ifftshift">ifftshift</link>
220             </member>
221             <member>
222                 <link linkend="colon">colon</link>
223             </member>
224         </simplelist>
225     </refsection>
226     <refsection role="history">
227         <title>History</title>
228         <revhistory>
229             <revision>
230                 <revnumber>5.5.0</revnumber>
231                 <revremark>
232                   <itemizedlist>
233                     <listitem>
234                         Extension aux matrices et hypermatrices de booléens, entiers encodés, textes,
235                         polynômes, fractions rationnelles, identifiants graphiques, etc.
236                     </listitem>
237                     <listitem>
238                         Nouveau paramètre optionnel <literal>blockSize</literal> pour réordonner
239                         <literal>x</literal> par blocs.
240                     </listitem>
241                   </itemizedlist>
242                 </revremark>
243             </revision>
244         </revhistory>
245     </refsection>
246 </refentry>