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