help flipdim: description fixed and page improved
[scilab.git] / scilab / modules / elementary_functions / help / ja_JP / 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="ja">
21     <refnamediv>
22         <refname>flipdim</refname>
23         <refpurpose>指定した次元に沿って x ブロック要素を反転</refpurpose>
24     </refnamediv>
25     <refsynopsisdiv>
26         <title>呼び出し手順</title>
27         <synopsis>
28             y = flipdim(x, dim)
29             y = flipdim(x, dim, blockSize)
30         </synopsis>
31     </refsynopsisdiv>
32     <refsection>
33         <title>引数</title>
34         <variablelist>
35             <varlistentry>
36                 <term>x, y</term>
37                 <listitem>
38                     <para>
39                         ベクトル、行列、または任意の通常のデータ型のハイパーマトリックスを含む。
40                         <varname> y </varname>は<varname> x </varname>のサイズを取得します。
41                     </para>
42                 </listitem>
43             </varlistentry>
44             <varlistentry>
45                 <term>dim</term>
46                 <listitem>
47                     <para>
48                         positive integer : index of the dimension / direction of <literal>x</literal>
49                         along which the order of <varname>x</varname> components must be inverted.
50                     </para>
51                 </listitem>
52             </varlistentry>
53             <varlistentry>
54                 <term>blockSize</term>
55                 <listitem>
56                     <para>
57                         a positive integer, sub-multiple of <literal>size(x,dim)</literal>:
58                         number of rows, of columns, of pages etc in each block. Default value = 1
59                     </para>
60                 </listitem>
61             </varlistentry>
62         </variablelist>
63     </refsection>
64     <refsection>
65         <title>説明</title>
66         <para>
67             <literal>flipdim(x, 1)</literal> inverts the order of
68             <emphasis role="italic">rows</emphasis> in the matrix or hypermatrix
69             <varname>x</varname>.
70         </para>
71         <para>
72             <literal>flipdim(x, 2)</literal> inverts the order of
73             <emphasis role="italic">columns</emphasis> of <varname>x</varname>.
74         </para>
75         <para>
76             <literal>flipdim(x, 3)</literal> inverts the order of
77             <emphasis role="italic">pages</emphasis> in the hypermatrix
78             <varname>x</varname>. Etc.
79         </para>
80         <para>
81             The optional parameter <literal>blockSize</literal> allows splitting
82             <varname>x</varname> in <literal>size(x,1)/blockSize</literal> blocks
83             of <varname>blockSize</varname> rows (<literal>dim=1</literal>),
84             or in <literal>size(x,2)/blockSize</literal> blocks of <varname>blockSize</varname>
85             columns (<literal>dim=2</literal>), etc (<literal>dim>2</literal>)
86             and to invert their order.
87             In each block, the order of components (rows, columns, pages etc)
88             is unchanged.
89         </para>
90     </refsection>
91     <refsection>
92         <title>例</title>
93         <programlisting role="example"><![CDATA[
94 // 例 1: x の要素を最初の次元に沿って反転
95 x = [1 2 3 4; 5 6 7 8];
96 y = flipdim(x, 1)
97
98 // 例2: x の要素を2番目の次元に沿って反転
99 y = flipdim(x, 2)
100
101 // 例3: x の要素を3番目の次元に沿って反転
102 x = matrix(1:48,[3 2,4,2]);
103 y = flipdim(x, 3)
104
105 // 例4: 最初の例を複素数に
106 x = [1+%i 2*%i 3 4; 5 6-%i 7 8*%pi*%i]
107 y = flipdim(x, 1)
108
109 // 整数エンコードされた数値
110 x = int16(grand(4, 3, 2, "uin", -9, 9))
111 y = flipdim(x, 1)
112
113 // 論理値:
114 x = (grand(3, 4, "uin", -9, 9) > 0)
115 y = flipdim(x, 2)
116
117 // テキスト:
118 x = matrix(strsplit("a":"x", 1:23), 4, 6);
119 x = x+x
120 flipdim(x, 2)
121
122 // 多項式:
123 x = inv_coeff(grand(3, 9, "uin", 0, 3), 2)
124 flipdim(x, 1)
125
126 // 有理数:
127 n = inv_coeff(grand(3, 9, "uin", 0, 3), 2);
128 d = inv_coeff(grand(3, 9, "uin", 0, 3), 2);
129 r = n./d
130 flipdim(r, 2)
131  ]]></programlisting>
132         <para>
133             <literal>blockSize</literal>の使用例 :
134         </para>
135         <programlisting role="example"><![CDATA[
136 X = [0 1 2 3 4 5 6 7 8 9 10 11];
137 flipdim(X, 2, 2) // => [10 11   8 9   6 7   4 5   2 3   0 1] // ブロックサイズ = 2.
138 flipdim(X, 2, 3) // => [9 10 11   6 7 8   3 4 5   0 1 2]
139 flipdim(X, 2, 4) // => [8 9 10 11   4 5 6 7   0 1 2 3]
140 flipdim(X, 2, 6) // => [6 7 8 9 10 11   0 1 2 3 4 5]
141 // blockSizeがxの指定した次元を分割しない場合はエラー.
142 y = flipdim(x, 2, 5); // size(X) = [1 12] および blockSize=5 は 12を割り切れない.
143  ]]></programlisting>
144     <para>Example of results:</para>
145     <screen><![CDATA[
146 --> x
147  x  =
148  -5 -2  0  9
149   0 -7 -6  9
150  -1 -8 -7  8
151
152 --> flipdim(x, 1)
153  ans  =
154  -1 -8 -7  8
155   0 -7 -6  9
156  -5 -2  0  9
157
158 --> flipdim(x, 2)
159  ans  =
160   9  0 -2 -5
161   9 -6 -7  0
162   8 -7 -8 -1
163 ]]></screen>
164     <para></para>
165     <screen><![CDATA[
166 --> x
167  x  =
168 (:,:,1)
169   9  4 -3
170  -4 -8 -3
171
172 (:,:,2)
173   5  8  9
174   4  4  9
175
176 --> flipdim(x, 3)
177  ans  =
178 (:,:,1)
179   5  8  9
180   4  4  9
181
182 (:,:,2)
183   9  4 -3
184  -4 -8 -3
185 ]]></screen>
186     <para></para>
187     <screen><![CDATA[
188 --> x
189  x  =
190  -2  3 -5  9 -4 -8
191   2  8  4 -9  6 -6
192  -9  8  3  4 -3  4
193
194 --> flipdim(x, 2, 2)
195  ans  =
196  -4 -8 -5  9 -2  3
197   6 -6  4 -9  2  8
198  -3  4  3  4 -9  8
199
200 --> flipdim(x, 2, 3)
201  ans  =
202   9 -4 -8 -2  3 -5
203  -9  6 -6  2  8  4
204   4 -3  4 -9  8  3
205 ]]></screen>
206     </refsection>
207     <refsection role="see also">
208         <title>参照</title>
209         <simplelist type="inline">
210             <member>
211                 <link linkend="fftshift">fftshift</link>
212             </member>
213             <member>
214                 <link linkend="ifftshift">ifftshift</link>
215             </member>
216             <member>
217                 <link linkend="colon">colon</link>
218             </member>
219         </simplelist>
220     </refsection>
221     <refsection>
222         <title>履歴</title>
223         <revhistory>
224             <revision>
225                 <revnumber>5.5.0</revnumber>
226                 <revremark>
227                     10進数から任意の型に拡張: 論理値, 整数, 文字列, 多項式および有理数.
228                     <literal>x</literal>ブロック毎に反転するために,
229                     新しい入力引数 <literal>blockSize</literal>が追加されました.
230                 </revremark>
231             </revision>
232         </revhistory>
233     </refsection>
234 </refentry>