b9bfd5bedca8fe8e6153c711ba9491918c954be8
[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 - Samuel GOUGEON: restriction to decimal numbers removed. Examples added for booleans, integer-encoded numbers, text, polynomials, rationals
6  *
7  * This file must be used under the terms of the CeCILL.
8  * This source file is licensed as described in the file COPYING, which
9  * you should have received as part of this distribution.  The terms
10  * are also available at
11  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
12  *
13  -->
14 <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" xmlns:scilab="http://www.scilab.org" xml:id="flipdim" xml:lang="fr">
15     <refnamediv>
16         <refname>flipdim</refname>
17         <refpurpose>
18             retourne par blocs les éléments de <literal>x</literal> selon une dimension
19         </refpurpose>
20     </refnamediv>
21     <refsynopsisdiv>
22         <title>Séquence d'appel</title>
23         <synopsis>y = flipdim(x, dim [,sb])</synopsis>
24     </refsynopsisdiv>
25     <refsection>
26         <title>Paramètres</title>
27         <variablelist>
28             <varlistentry>
29                 <term>x, y</term>
30                 <listitem>
31                     <para>scalaires, vecteurs, matrices, ou hypermatrices de n'importe quel type, de même taille</para>
32                 </listitem>
33             </varlistentry>
34             <varlistentry>
35                 <term>dim</term>
36                 <listitem>
37                     <para>entier positif</para>
38                 </listitem>
39             </varlistentry>
40             <varlistentry>
41                 <term>sb</term>
42                 <listitem>
43                     <para>entier positif, la taille des blocs à permuter</para>
44                 </listitem>
45             </varlistentry>
46         </variablelist>
47     </refsection>
48     <refsection>
49         <title>Description</title>
50         <para>
51             A partir de <literal>x</literal>, un scalaire/vecteur/matrice/hypermatrice de n'importe quel type et
52             deux entiers positifs <literal>dim</literal> et <literal>sb</literal>, cette fonction retourne les éléments de
53             <literal>x</literal> par blocs de taille <literal>sb</literal> selon le nombre dimension <literal>dim</literal> de
54             <literal>x</literal> (<literal>x</literal> et <literal>y</literal> ont la même taille)
55         </para>
56         <para>
57             Le paramètre optionnel <literal>sb</literal> (pour Size Block) permet de retounerles éléments de <literal>x</literal>
58             par blocs de taille <literal>sb*size(x,2)</literal> (<literal>dim=1</literal>)
59             ou <literal>size(x,1)*sb</literal> (<literal>dim=2</literal>).
60         </para>
61     </refsection>
62     <refsection>
63         <title>Exemples</title>
64         <programlisting role="example"><![CDATA[
65 // Exemple 1 : selon la première dimension
66 x = [1 2 3 4; 5 6 7 8]
67 dim = 1
68 y = flipdim(x, dim)
69
70 // Exemple 2 : selon la deuxième dimension
71 dim = 2
72 y = flipdim(x, dim)
73
74 // Exemple 3 : selon la troisième dimension
75 x = matrix(1:24, [3 2 4])
76 dim = 3
77 y = flipdim(x, dim)
78
79 // Exemple 4 : premier exemple, mais avec des complexes
80 x = [1+%i 2*%i 3 4; 5 6-%i 7 8*%pi*%i]
81 dim = 1
82 y = flipdim(x, dim)
83
84 // Entiers :
85 x = int16(grand(4, 3, 2, "uin", -9, 9))
86 y = flipdim(x, 1)
87
88 // Booléens :
89 x = (grand(3, 4, "uin", -9, 9) > 0)
90 y = flipdim(x, 2)
91
92 // Textes :
93 x = matrix(strsplit("a":"x", 1:23), 4, 6);
94 x = x+x
95 flipdim(x, 2)
96
97 // Polynômes :
98 x = inv_coeff(grand(3, 9, "uin", 0, 3), 2)
99 flipdim(x, 1)
100
101 // Rationals :
102 n = inv_coeff(grand(3, 9, "uin", 0 ,3), 2);
103 d = inv_coeff(grand(3, 9, "uin", 0, 3), 2);
104 r = n./d
105 flipdim(r, 2)
106  ]]></programlisting>
107         <para>
108             Exemples utilisant <literal>sb</literal> :
109         </para>
110         <programlisting role="example"><![CDATA[
111 X = [0 1 2 3 4 5 6 7 8 9 10 11];
112 flipdim(X, 2, 2) // => [10 11   8 9   6 7   4 5   2 3   0 1] // Taille du bloc = 2.
113 flipdim(X, 2, 3) // => [9 10 11   6 7 8   3 4 5   0 1 2]
114 flipdim(X, 2, 4) // => [8 9 10 11   4 5 6 7   0 1 2 3]
115 flipdim(X, 2, 6) // => [6 7 8 9 10 11   0 1 2 3 4 5]
116
117 // Erreur si sb ne divise pas la dimension ciblée de x.
118 y = flipdim(x, 2, 5)", refMsg); // size(X) = [1 12] et sb=5 ne divise pas 12.
119  ]]></programlisting>
120     </refsection>
121     <refsection>
122         <title>History</title>
123         <revhistory>
124             <revision>
125                 <revnumber>5.5.0</revnumber>
126                 <revremark>
127                     Extension de décimaux à tout type : booléens, entiers, chaines de caractères, polynômes et fractions rationnelles.
128                     Nouveau paramètre optionnel <literal>sb</literal> pour retourner <literal>x</literal> par blocs.
129                 </revremark>
130             </revision>
131         </revhistory>
132     </refsection>
133 </refentry>