* Bug 7293 fixed: circshift() introduced
[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'un tableau.
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
42                       données régulier, ou tableau de cells.
43                       <varname>y</varname> prend la taille de <varname>x</varname>.
44                     </para>
45                 </listitem>
46             </varlistentry>
47             <varlistentry>
48                 <term>dim</term>
49                 <listitem>
50                     <para>
51                         entier positif : n° de la dimension / direction de <literal>x</literal>
52                         selon laquelle l'ordre des éléments de <varname>x</varname> doit être inversé.
53                     </para>
54                 </listitem>
55             </varlistentry>
56             <varlistentry>
57                 <term>blockSize</term>
58                 <listitem>
59                     <para>
60                       entier positif, sous-multiple de <literal>size(x,dim)</literal> :
61                       taille des blocs dont l'ordre doit être inversé. Vaut 1 par défaut.
62                     </para>
63                 </listitem>
64             </varlistentry>
65         </variablelist>
66     </refsection>
67     <refsection role="description">
68         <title>Description</title>
69         <para>
70             <literal>flipdim(x, 1)</literal> inverse l'ordre des
71             <emphasis role="italic">lignes</emphasis> de <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 <varname>x</varname>. etc.
80         </para>
81         <para>
82             Le paramètre optionnel <literal>blockSize</literal> permet d'inverser l'ordre des
83             <literal>size(x,1)/blockSize</literal> blocs de <varname>blockSize</varname>
84             lignes de <varname>x</varname> (<literal>dim=1</literal>), ou des
85             <literal>size(x,2)/blockSize</literal> blocs de <varname>blockSize</varname>
86             colonnes (<literal>dim=2</literal>), etc (<literal>dim>2</literal>).
87             À l'intérieur de chaque bloc, l'ordre des éléments (lignes, colonnes, etc) n'est pas modifié.
88         </para>
89     </refsection>
90     <refsection role="examples">
91         <title>Exemples</title>
92         <programlisting role="example"><![CDATA[
93 // Exemple 1 : selon la première dimension
94 x = [1 2 3 4; 5 6 7 8]
95 dim = 1
96 y = flipdim(x, dim)
97
98 // Exemple 2 : selon la deuxième dimension
99 dim = 2
100 y = flipdim(x, dim)
101
102 // Exemple 3 : selon la troisième dimension
103 x = matrix(1:24, [3 2 4])
104 dim = 3
105 y = flipdim(x, dim)
106
107 // Exemple 4 : premier exemple, mais avec des complexes
108 x = [1+%i 2*%i 3 4; 5 6-%i 7 8*%pi*%i]
109 dim = 1
110 y = flipdim(x, dim)
111
112 // Entiers :
113 x = int16(grand(4, 3, 2, "uin", -9, 9))
114 y = flipdim(x, 1)
115
116 // Booléens :
117 x = (grand(3, 4, "uin", -9, 9) > 0)
118 y = flipdim(x, 2)
119
120 // Textes :
121 x = matrix(strsplit("a":"x", 1:23), 4, 6);
122 x = x+x
123 flipdim(x, 2)
124
125 // Polynômes :
126 x = inv_coeff(grand(3, 9, "uin", 0, 3), 2)
127 flipdim(x, 1)
128
129 // Rationals :
130 n = inv_coeff(grand(3, 9, "uin", 0 ,3), 2);
131 d = inv_coeff(grand(3, 9, "uin", 0, 3), 2);
132 r = n./d
133 flipdim(r, 2)
134  ]]></programlisting>
135         <para>
136             Exemples utilisant <literal>blockSize</literal> :
137         </para>
138         <programlisting role="example"><![CDATA[
139 X = [0 1 2 3 4 5 6 7 8 9 10 11];
140 flipdim(X, 2, 2) // => [10 11   8 9   6 7   4 5   2 3   0 1] // Taille du bloc = 2.
141 flipdim(X, 2, 3) // => [9 10 11   6 7 8   3 4 5   0 1 2]
142 flipdim(X, 2, 4) // => [8 9 10 11   4 5 6 7   0 1 2 3]
143 flipdim(X, 2, 6) // => [6 7 8 9 10 11   0 1 2 3 4 5]
144
145 // Erreur si la valeur de blockSize n'est pas sous-multiple de la dimension ciblée de x.
146 y = flipdim(x, 2, 5); // size(X) = [1 12] et blockSize=5 ne divise pas 12.
147  ]]></programlisting>
148     <para>Exemple de résultats :</para>
149     <screen><![CDATA[
150 --> x
151  x  =
152  -5 -2  0  9
153   0 -7 -6  9
154  -1 -8 -7  8
155
156 --> flipdim(x, 1)
157  ans  =
158  -1 -8 -7  8
159   0 -7 -6  9
160  -5 -2  0  9
161
162 --> flipdim(x, 2)
163  ans  =
164   9  0 -2 -5
165   9 -6 -7  0
166   8 -7 -8 -1
167 ]]></screen>
168     <para></para>
169     <screen><![CDATA[
170 --> x
171  x  =
172 (:,:,1)
173   9  4 -3
174  -4 -8 -3
175
176 (:,:,2)
177   5  8  9
178   4  4  9
179
180 --> flipdim(x, 3)
181  ans  =
182 (:,:,1)
183   5  8  9
184   4  4  9
185
186 (:,:,2)
187   9  4 -3
188  -4 -8 -3
189 ]]></screen>
190     <para></para>
191     <screen><![CDATA[
192 --> x
193  x  =
194  -2  3 -5  9 -4 -8
195   2  8  4 -9  6 -6
196  -9  8  3  4 -3  4
197
198 --> flipdim(x, 2, 2)
199  ans  =
200  -4 -8 -5  9 -2  3
201   6 -6  4 -9  2  8
202  -3  4  3  4 -9  8
203
204 --> flipdim(x, 2, 3)
205  ans  =
206   9 -4 -8 -2  3 -5
207  -9  6 -6  2  8  4
208   4 -3  4 -9  8  3
209 ]]></screen>
210     </refsection>
211     <refsection role="see also">
212         <title>Voir aussi</title>
213         <simplelist type="inline">
214             <member>
215                 <link linkend="circshift">circshift</link>
216             </member>
217             <member>
218                 <link linkend="fftshift">fftshift</link>
219             </member>
220             <member>
221                 <link linkend="ifftshift">ifftshift</link>
222             </member>
223             <member>
224                 <link linkend="colon">colon</link>
225             </member>
226         </simplelist>
227     </refsection>
228     <refsection role="history">
229         <title>History</title>
230         <revhistory>
231             <revision>
232                 <revnumber>5.5.0</revnumber>
233                 <revremark>
234                   <itemizedlist>
235                     <listitem>
236                         Extension aux matrices et hypermatrices de booléens, entiers encodés, textes,
237                         polynômes, fractions rationnelles, identifiants graphiques, etc.
238                     </listitem>
239                     <listitem>
240                         Nouveau paramètre optionnel <literal>blockSize</literal> pour réordonner
241                         <literal>x</literal> par blocs.
242                     </listitem>
243                   </itemizedlist>
244                 </revremark>
245             </revision>
246         </revhistory>
247     </refsection>
248 </refentry>