gschur() was declared obsolete in Scilab 4, now removed
[scilab.git] / scilab / modules / functions / help / ja_JP / functions.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <!--
4  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
5  * Copyright (C) ????-2008 - INRIA
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
18 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="functions">
19     
20     <refnamediv>
21         
22         <refname>functions</refname>
23         
24         <refpurpose>Scilab プロシージャおよび  Scilab オブジェクト</refpurpose>
25         
26     </refnamediv>
27     
28     <refsection>
29         
30         <title>説明</title>
31         
32         <para>functions は Scilab プロシージャです
33             
34             "macro", "function" および
35             
36             "procedure"は同じ意味を有します).
37             
38         </para>
39         
40     </refsection>
41     
42     <refsection>
43         
44         <title>関数定義</title>
45         
46         <para>
47             
48             通常,これらはエディタによりファイルで定義され,
49             
50             <link linkend="exec">exec</link>関数またはライブラリ
51             
52             (<link linkend="lib">lib</link> または
53             
54             <link linkend="genlib">genlib</link>参照)
55             
56             によりScilabにロードされます.
57             
58             しかし,オンライン定義
59             
60             (<link linkend="deff">deff</link> または
61             
62             <link linkend="function">function</link>参照)
63             
64             することも可能です.
65             
66             関数は以下の2つの要素により定義されます::
67             
68         </para>
69         
70         <itemizedlist>
71             
72             <listitem>
73                 
74                 <para>以下のような "構文定義" 部:</para>
75                 
76                 <programlisting role='no-scilab-exec'><![CDATA[
77 function [y1,...,yn]=foo(x1,...,xm)
78 function [y1,...,yn,varargout]=foo(x1,...,xm,varargin)
79  ]]></programlisting>
80                 
81             </listitem>
82             
83             <listitem>
84                 
85                 <para>一連のScilab命令.</para>
86                 
87             </listitem>
88             
89         </itemizedlist>
90         
91         <para>"構文定義" 行はこの関数の"完全な"呼び出し手順を指定します.
92             
93             <literal>yi</literal> は,入力変数<literal>xi</literal>と
94             
95             その関数が実行された際にScilabに存在する変数の関数として
96             
97             計算される出力変数です.
98             
99         </para>
100         
101     </refsection>
102     
103     <refsection>
104         
105         <title>呼び出し手順</title>
106         
107         <itemizedlist>
108             
109             <listitem>
110                 
111                 <para>
112                     
113                     通常,関数の呼び出し手順は
114                     
115                     <literal>[y1,...,yn]=foo(x1,...,xm)</literal>となります.
116                     
117                     入力または出力引数の一覧を定義より短くすることができます.
118                     
119                     このような場合,
120                     
121                     左辺の先頭のいくつかの変数のみが使用され設定されます.
122                     
123                 </para>
124                 
125                 <para>
126                     
127                     呼び出し時の引数の実際の数は,
128                     
129                     <link linkend="argn">argn</link> により取得することができます.
130                     
131                 </para>
132                 
133             </listitem>
134             
135             <listitem>
136                 
137                 <para>
138                     
139                     入力または出力最大引数の数が不定の
140                     
141                     関数を定義することができます.
142                     
143                     これは, <link linkend="varargin">varargin</link>および
144                     
145                     <link linkend="varargout">varargout</link>キーワードを
146                     
147                     使用して行います.
148                     
149                     詳細は指定したリンクを参照ください.
150                     
151                 </para>
152                 
153             </listitem>
154             
155             <listitem>
156                 
157                 <para>
158                     
159                     入力引数を指定する際に"名前付きの引数"を使用することも
160                     
161                     可能です:
162                     
163                     関数<function>fun1</function>が
164                     
165                     <code>function y1 = fun1(x1, x2, x3)</code>と
166                     
167                     定義されていると仮定すると,<function>fun1</function>を
168                     
169                     <code>y = fun1(x1=33, x3=[1 2 3])</code>のような
170                     
171                     構文でコールすることもできます.
172                     
173                     x2 は未定義となります.
174                     
175                 </para>
176                 
177                 <para>
178                     
179                     <code>y = fun1(x1=33, y='foo')</code>のような構文で
180                     
181                     コールすることも可能です.
182                     
183                     このような場合,<varname>y</varname> 変数を
184                     
185                     関数<function>fun1</function>のコンテキストで
186                     
187                     利用可能となります.
188                     
189                     <note>
190                         
191                         引数の最大数は関数構文部で使用される
192                         
193                         形式的な入力引数の数以下とする必要があることに注意してください.
194                         
195                     </note>
196                     
197                 </para>
198                 
199                 <para>
200                     
201                     定義された変数を
202                     
203                     <link linkend="exists">exists</link> 関数で
204                     
205                     確認することができます.
206                     
207                 </para>
208                 
209             </listitem>
210             
211             <listitem>
212                 
213                 <para>
214                     
215                     関数が左辺の引数を有さず,
216                     
217                     文字列引数でのみコールされた場合,
218                     
219                     呼び出し手順を以下のように簡単化できます:
220                     
221                 </para>
222                 
223                 <programlisting role='no-scilab-exec'><![CDATA[
224 fun('a','toto','a string')
225  ]]></programlisting>
226                 
227                 <para>は以下と等価です: </para>
228                 
229                 <programlisting role='no-scilab-exec'><![CDATA[
230 fun a toto 'a string'
231  ]]></programlisting>
232                 
233             </listitem>
234             
235         </itemizedlist>
236         
237     </refsection>
238     
239     <refsection>
240         
241         <title>その他</title>
242         
243         <para>
244             
245             関数はScilabオブジェクト(型番号は13または11)です.
246             
247             関数は他の変数型と同様に操作
248             
249             (構築, 保存, 読込み, 引数として指定)できます.
250             
251         </para>
252         
253         <para>
254             
255             関数の集合は,ライブラリに集約できます.
256             
257             <literal>%</literal> 記号で始まる関数
258             
259             (例: <literal>%foo</literal>)
260             
261             は,しばしば新しいデータ型について演算子や関数をオーバーロード
262             
263             (<link linkend="overloading">オーバーローディング</link>参照)
264             
265             する際に使用されます.
266             
267         </para>
268         
269         <para>
270             
271             関数名はいくつかの構文規約
272             
273             (<link linkend="names">names</link>参照)に従う必要があることに
274             
275             注意してください.
276             
277         </para>
278         
279     </refsection>
280     
281     <refsection>
282         
283         <title>例</title>
284         
285         <programlisting role="example"><![CDATA[
286 //インライン定義 (function参照)
287 function [x,y]=myfct(a,b)
288   x=a+b
289   y=a-b
290 endfunction
291 [x,y]=myfct(3,2)
292 //インライン定義 (deff参照)
293 deff('[x,y]=myfct(a,b)',['x=a+b';
294                          'y=a-b'])
295 // アスキーファイルで定義 (exec参照)
296 exec SCI/modules/elementary_functions/macros/asinh.sci;
297  ]]></programlisting>
298         
299     </refsection>
300     
301     <refsection role="see also">
302         
303         <title>参照</title>
304         
305         <simplelist type="inline">
306             
307             <member>
308                 
309                 <link linkend="function">function</link>
310                 
311             </member>
312             
313             <member>
314                 
315                 <link linkend="deff">deff</link>
316                 
317             </member>
318             
319             <member>
320                 
321                 <link linkend="exec">exec</link>
322                 
323             </member>
324             
325             <member>
326                 
327                 <link linkend="lib">lib</link>
328                 
329             </member>
330             
331             <member>
332                 
333                 <link linkend="getd">getd</link>
334                 
335             </member>
336             
337             <member>
338                 
339                 <link linkend="genlib">genlib</link>
340                 
341             </member>
342             
343             <member>
344                 
345                 <link linkend="exists">exists</link>
346                 
347             </member>
348             
349             <member>
350                 
351                 <link linkend="varargin">varargin</link>
352                 
353             </member>
354             
355             <member>
356                 
357                 <link linkend="varargout">varargout</link>
358                 
359             </member>
360             
361         </simplelist>
362         
363     </refsection>
364     
365 </refentry>
366