* Bug 16365 fixed: median(m,'r'|'c') was wrong after 5dc990
[scilab.git] / scilab / modules / elementary_functions / help / ja_JP / matrixmanipulation / resize_matrix.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 - Jean-Baptiste SILVY
5  * Copyright (C) 2013, 2016, 2017 - Samuel GOUGEON
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="resize_matrix" xml:lang="ja">
21     <refnamediv>
22         <refname>resize_matrix</refname>
23         <refpurpose>
24             行列またはハイパー行列をトリムまたは拡張(およびキャスト)
25         </refpurpose>
26     </refnamediv>
27     <refsynopsisdiv>
28         <title>呼び出し手順</title>
29         <synopsis>
30                      resize_matrix      // Demo
31
32             resMat = resize_matrix(mat, nbRows, nbCols)
33             resMat = resize_matrix(mat, nbRows, nbCols, resType)
34             resMat = resize_matrix(mat, nbRows, nbCols, resType, padding)
35             resMat = resize_matrix(mat, nbRows, nbCols,    ""  , padding)
36
37             resMat = resize_matrix(mat, newSizes)
38             resMat = resize_matrix(mat, newSizes, resType)
39             resMat = resize_matrix(mat, newSizes, resType, padding)
40             resMat = resize_matrix(mat, newSizes,    ""  , padding)
41         </synopsis>
42     </refsynopsisdiv>
43     <refsection role="parameters">
44         <title>引数</title>
45         <variablelist>
46             <varlistentry>
47                 <term>mat</term>
48                 <listitem>
49                     <para>
50                         入力行列またはハイパー行列. 論理値, エンコードされた整数, 10進数 (実数または複素数),
51                         多項式, またはテキストがサポートされます.
52                     </para>
53                 </listitem>
54             </varlistentry>
55             <varlistentry>
56                 <term>nbRows</term>
57                 <listitem>
58                     <para>
59                         大きさ変更後の行列の行数. 超過した行はトリムされます.
60                         足りない行は拡張されます.
61                         Setting <literal>nbRows &lt; 0</literal> keeps the current
62                         number of rows.
63                     </para>
64                 </listitem>
65             </varlistentry>
66             <varlistentry>
67                 <term>nbCols</term>
68                 <listitem>
69                     <para>
70                         大きさ変更後の行列の列数. 超過した列はトリムされます.
71                         足りない列は拡張されます.
72                         Setting <literal>nbCols &lt; 0</literal> keeps the current
73                         number of columns.
74                     </para>
75                 </listitem>
76             </varlistentry>
77             <varlistentry>
78                 <term>newSizes</term>
79                 <listitem>
80                     <para>
81                         <varname>mat</varname>の各次元方向の新しい大きさを指定するベクトル.
82                         To keep a new size equal to the current one, just set it to -1.
83                     </para>
84                     <para>
85                         <literal>size(mat)</literal>より短い場合, 1でパディングされます.
86                         例: <literal>size(mat)==[ 4 3 3 2]</literal>となる <varname>mat</varname> が入力され,
87                         <literal>newSizes=[6 2]</literal>が指定された場合,
88                         <literal>newSizes = [6 2 1 1]</literal> が考慮されます.
89                     </para>
90                     <para>
91                         <varname>newSizes</varname> が <literal>size(mat)</literal>でなくなる場合,
92                         新規次元が <varname>mat</varname>に追加され,パディングされます.
93                         例えば,<literal>size(mat)==[ 4 3 ]</literal>となるような <varname>mat</varname>が入力され,
94                         <literal>newSizes=[6 2 2]</literal>が指定された場合,
95                         結果は2ページのハイパー行列となります.
96                         2番目の次元は完全にパディングされます.
97                     </para>
98                     <para>
99                         <literal>newSizes = [nbRows, nbCols]</literal> は行列として使用できます.
100                     </para>
101                 </listitem>
102             </varlistentry>
103             <varlistentry>
104                 <term>padding</term>
105                 <listitem>
106                     <para>
107                         <varname>mat</varname>と同じ型のオプションのスカラー,
108                         次元方向に大きさが増加した際に作成された要素に設定する内容を指定します.
109                         デフォルトのパディングは <literal>0</literal>
110                         (実数または複素数10進数,エンコードされた整数,多項式), または
111                         <literal>""</literal> (テキスト),<literal>%F</literal> (論理値)で行われます.
112                     </para>
113                     <para>
114                         <varname>mat</varname> および <varname>padding</varname> の型が一致しない場合,
115                         scilabは<varname>padding</varname>の型を変換しようとします.
116                     </para>
117                     <para>
118                         多項式の場合, パティングの変数名は強制的に<varname>mat</varname>と同じとなります.
119                     </para>
120                 </listitem>
121             </varlistentry>
122             <varlistentry>
123                 <term>resType</term>
124                 <listitem>
125                     <para>
126                         オプションのテキストで大きさが変更された行列が変換されるデータ型を指定します.
127                         "boolean", "constant", "string", "int8", "uint8", "int16", "uint16", "int32",
128                         "uint32", "int64", および "uint64" がサポートされます.
129                     </para>
130                     <para>多項式およびテキストのハイパー行列については型変換がサポートされません.</para>
131                 </listitem>
132             </varlistentry>
133             <varlistentry>
134                 <term>resMat</term>
135                 <listitem>
136                     <para>大きさが変更され(変換され)た行列またはハイパー行列</para>
137                 </listitem>
138             </varlistentry>
139         </variablelist>
140     </refsection>
141     <refsection role="description">
142         <title>説明</title>
143         <para>
144             大きさ<literal>[nbRows, nbCols]</literal> または <literal>newSizes</literal>の行列,
145             大きさ<literal>newSizes</literal>のハイパー行列を作成します.
146             新しい大きさのある次元が最初のものよりも小さい場合, 行列はトリムされます.
147             大きさが増加した場合, 行列/ハイパー行列はパディングされます.
148             次元の数を増やすことも可能です.
149             Scilabは自動的に大きさが1(シングルトン)に設定された最高の次元を縮小します.
150         </para>
151         <para>
152             結果の型は,上記の制限のもとに<literal>resType</literal>引数の指定により変更できます.
153         </para>
154     </refsection>
155     <refsection role="examples">
156         <title>例</title>
157         <programlisting role="example"><![CDATA[
158 // 組込の例, 多項式を含む
159 resize_matrix
160
161 // 数値行列:
162 M = grand(4, 3, "uin", -9, 9)
163 resize_matrix(M, -1, 5)  //  use -1 to keep a size unchanged
164 resize_matrix(M, 2, -1)
165 resize_matrix(M, 3, 4)
166  ]]></programlisting>
167     <screen><![CDATA[--> M = grand(4, 3, "uin", -9, 9)
168  M  =
169   -8.  -5.  -2.
170   -9.   0.  -1.
171    4.  -1.   6.
172    5.   1.   8.
173
174 --> resize_matrix(M, -1, 5)  //  use -1 to keep a size unchanged
175  ans  =
176   -8.  -5.  -2.   0.   0.
177   -9.   0.  -1.   0.   0.
178    4.  -1.   6.   0.   0.
179    5.   1.   8.   0.   0.
180
181 --> resize_matrix(M, 2, -1)
182  ans  =
183   -8.  -5.  -2.
184   -9.   0.  -1.
185
186 --> resize_matrix(M, 3, 4)
187  ans  =
188   -8.  -5.  -2.   0.
189   -9.   0.  -1.   0.
190    4.  -1.   6.   0.
191 ]]></screen>
192         <programlisting role="example"><![CDATA[
193 resize_matrix(M, [3 4 2])
194 resize_matrix(M, [3 4 2], "", %i)
195 resize_matrix(M, [3 4 2], "string", %i)
196
197 // テキストの行列:
198 myMatString = ["Scilab", "the"; "Open Source", "Scientific"; "Software", "Package"]
199 resize_matrix( myMatString, 5, 3 )
200 // new sizesに等価な構文:
201 resize_matrix( myMatString, [5 3], "", "$" )    // カスタムパディング
202
203 // トリム, パディングとハイパー行列へのキャスト:
204 h = rand(2, 3, 2)*200
205 resize_matrix(h, [3 2 3], "int8")
206 resize_matrix(h, [3 2 3], "int8", -1)    // カスタムパディング
207 r = resize_matrix(h, [3 2 ] , "" , -1)   // 型変換せずにカスタムパディング
208 size(r)  // 最後の次元は縮小されました
209
210 // 多項式:
211 x = poly(0, "x");
212 P = (1-x)^grand(4, 2, "uin", 0, 3)
213 resize_matrix(P, 3, 3)
214 resize_matrix(P, [3 3 2])
215 resize_matrix(P, [3 3 2], "", %z)
216 //  => パディングの未知数はPのものに強制的に変更されました
217 //  => 多項式は変換できません
218  ]]></programlisting>
219     </refsection>
220     <refsection role="see also">
221         <title>参照</title>
222         <simplelist type="inline">
223             <member>
224                 <link linkend="matrix">matrix</link>
225             </member>
226             <member>
227                 <link linkend="size">size</link>
228             </member>
229             <member>
230                 <link linkend="typeof">typeof</link>
231             </member>
232             <member>
233                 <link linkend="double">double</link>
234             </member>
235             <member>
236                 <link linkend="strtod">strtod</link>
237             </member>
238             <member>
239                 <link linkend="string">string</link>
240             </member>
241         </simplelist>
242     </refsection>
243     <refsection role="history">
244         <title>履歴</title>
245         <revhistory>
246             <revision>
247                 <revnumber>5.5.0</revnumber>
248                 <revremark>
249                     <itemizedlist>
250                         <listitem>
251                             多項式とハイパー行列を利用可能になりました.
252                         </listitem>
253                         <listitem>
254                             カスタムパディングを指定可能となりました.
255                         </listitem>
256                         <listitem>
257                             新しい大きさをベクトルとして指定できます.
258                         </listitem>
259                         <listitem>
260                             resize_matrix() に引数を付けない場合, 例(デモ)を表示します.
261                         </listitem>
262                     </itemizedlist>
263                 </revremark>
264             </revision>
265             <revision>
266                 <revnumber>6.0.1</revnumber>
267                 <revremark>The <literal>resType</literal> option is extended to the new
268                 <literal>int64</literal> and <literal>uint64</literal> integer types.
269                 </revremark>
270             </revision>
271         </revhistory>
272     </refsection>
273 </refentry>