4f5ad8926133591d2202536fc866961457286449
[scilab.git] / scilab / modules / special_functions / help / ja_JP / bessel.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
5  *
6  * Copyright (C) 2012 - 2016 - Scilab Enterprises
7  *
8  * This file is hereby licensed under the terms of the GNU GPL v2.0,
9  * pursuant to article 5.3.4 of the CeCILL v.2.1.
10  * This file was originally licensed under the terms of the CeCILL v2.1,
11  * and continues to be available under such terms.
12  * For more information, see the COPYING file which you should have received
13  * along with this program.
14  *
15  -->
16 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="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="bessel" xml:lang="ja">
17     <refnamediv xml:id="besseli">
18         <refname>besseli</refname>
19         <refpurpose>第1種修正ベッセル関数 (I_alpha).</refpurpose>
20     </refnamediv>
21     <refnamediv xml:id="besselj">
22         <refname>besselj</refname>
23         <refpurpose>第1種ベッセル関数 (J_alpha).</refpurpose>
24     </refnamediv>
25     <refnamediv xml:id="besselk">
26         <refname>besselk</refname>
27         <refpurpose>第2種修正ベッセル関数 (K_alpha).</refpurpose>
28     </refnamediv>
29     <refnamediv xml:id="bessely">
30         <refname>bessely</refname>
31         <refpurpose>第2種ベッセル関数 (Y_alpha).</refpurpose>
32     </refnamediv>
33     <refnamediv xml:id="besselh">
34         <refname>besselh</refname>
35         <refpurpose>第3種ベッセル関数 (ハンケル関数と同じ)</refpurpose>
36     </refnamediv>
37     <refsynopsisdiv>
38         <title>呼び出し手順</title>
39         <synopsis>y = besseli(alpha,x [,ice])
40             y = besselj(alpha,x [,ice])
41             y = besselk(alpha,x [,ice])
42             y = bessely(alpha,x [,ice])
43             y = besselh(alpha,x)
44             y = besselh(alpha,K,x [,ice])
45         </synopsis>
46     </refsynopsisdiv>
47     <refsection>
48         <title>引数</title>
49         <variablelist>
50             <varlistentry>
51                 <term>x</term>
52                 <listitem>
53                     <para>実数または複素数のベクトル.</para>
54                 </listitem>
55             </varlistentry>
56             <varlistentry>
57                 <term>alpha</term>
58                 <listitem>
59                     <para>r実数ベクトル</para>
60                 </listitem>
61             </varlistentry>
62             <varlistentry>
63                 <term>ice</term>
64                 <listitem>
65                     <para>整数フラグ, デフォルト値: 0</para>
66                 </listitem>
67             </varlistentry>
68             <varlistentry>
69                 <term>K</term>
70                 <listitem>
71                     <para>整数, 指定可能な値は 1 または 2, ハンケル関数の型.</para>
72                 </listitem>
73             </varlistentry>
74         </variablelist>
75     </refsection>
76     <refsection>
77         <title>説明</title>
78         <itemizedlist>
79             <listitem>
80                 <para>
81                     <literal>besseli(alpha,x)</literal> は,
82                     実数の次数<literal>alpha</literal> および引数 <literal>x</literal>に関する
83                     第1種修正ベッセル関数(I_alpha)を計算します,
84                     <literal>besseli(alpha,x,1)</literal> は
85                     <literal>besseli(alpha,x).*exp(-abs(real(x)))</literal>を計算します.
86                 </para>
87             </listitem>
88             <listitem>
89                 <para>
90                     <literal>besselj(alpha,x)</literal> は第1種のベッセル関数(J_alpha)を
91                     実数の次数<literal>alpha</literal> および引数 <literal>x</literal>に関して
92                     計算します.
93                     <literal>besselj(alpha,x,1)</literal> は
94                     <literal>besselj(alpha,x).*exp(-abs(imag(x)))</literal>を計算します.
95                 </para>
96             </listitem>
97             <listitem>
98                 <para>
99                     <literal>besselk(alpha,x)</literal> は第2種修正ベッセル関数
100                     (K_alpha)を
101                     実数の次数<literal>alpha</literal> および引数 <literal>x</literal>に関して
102                     計算します.
103                     <literal>besselk(alpha,x,1)</literal> は
104                     <literal>besselk(alpha,x).*exp(x)</literal>を計算します.
105                 </para>
106             </listitem>
107             <listitem>
108                 <para>
109                     <literal>bessely(alpha,x)</literal>は第2種のベッセル関数(Y_alpha)を
110                     実数の次数<literal>alpha</literal> および引数 <literal>x</literal>に関して
111                     計算します.
112                     <literal>bessely(alpha,x,1)</literal> は
113                     <literal>bessely(alpha,x).*exp(-abs(imag(x)))</literal>を計算します.
114                 </para>
115             </listitem>
116             <listitem>
117                 <para>
118                     <literal>besselh(alpha [,K] ,x)</literal> は第3種のベッセル関数
119                     (<literal>K</literal>に依存してハンケル関数 H1 または H2)を
120                     実数の次数<literal>alpha</literal> および引数 <literal>x</literal>に関して
121                     計算します.<literal>K</literal>が省略された場合,
122                     1に等しいと仮定されます.
123                     <literal>besselh(alpha,1,x,1)</literal>は
124                     <literal>besselh(alpha,1,x).*exp(-%i*x)</literal>を計算し,
125                     <literal>besselh(alpha,2,x,1)</literal> は
126                     <literal>besselh(alpha,2,x).*exp(%i*x)</literal>を計算します.
127                 </para>
128             </listitem>
129         </itemizedlist>
130     </refsection>
131     <refsection>
132         <title>注意</title>
133         <para>
134             <literal>alpha</literal>および <literal>x</literal>が同じ大きさの
135             配列の場合,結果<literal>y</literal>も同じ大きさとなります.
136             入力のどちらかがスカラーの場合,
137             もう片方の大きさにまで拡張されます.
138             片方の入力が行ベクトルでもう片方が列ベクトルの場合,
139             結果<literal>y</literal>は関数値の二次元テーブルとなります.
140         </para>
141         <para>Y_alpha および J_alpha ベッセル関数はベッセルの微分方程式の
142             2つの独立解です:
143         </para>
144         <informalequation>
145             <mediaobject>
146                 <imageobject>
147                     <imagedata align="center" fileref="../mml/bessel_equation1.mml"/>
148                 </imageobject>
149             </mediaobject>
150         </informalequation>
151         <para>修正ベッセル関数K_alpha および I_alphaは
152             修正ベッセル微分方程式の2つの独立解です:
153         </para>
154         <informalequation>
155             <mediaobject>
156                 <imageobject>
157                     <imagedata align="center" fileref="../mml/bessel_equation2.mml"/>
158                 </imageobject>
159             </mediaobject>
160         </informalequation>
161         <para>H^1_alpha および H^2_alphaは第1種および第2種のハンケル関数
162             で,第1種および第2種のベッセル関数の線形結合です:
163         </para>
164         <informalequation>
165             <mediaobject>
166                 <imageobject>
167                     <imagedata align="center" fileref="../mml/bessel_equation3.mml"/>
168                 </imageobject>
169             </mediaobject>
170         </informalequation>
171     </refsection>
172     <refsection>
173         <title>例</title>
174         <programlisting role="example"><![CDATA[
175 //  besselI 関数
176 // ==================
177    x = linspace(0.01,10,5000)';
178    clf()
179    subplot(2,1,1)
180    plot2d(x,besseli(0:4,x), style=2:6)
181    legend('I'+string(0:4),2);
182    xtitle("Some modified Bessel functions of the first kind")
183    subplot(2,1,2)
184    plot2d(x,besseli(0:4,x,1), style=2:6)
185    legend('I'+string(0:4),1);
186    xtitle("Some modified scaled Bessel functions of the first kind")
187  ]]></programlisting>
188         <scilab:image>
189             x = linspace(0.01,10,5000)';
190             clf()
191             subplot(2,1,1)
192             plot2d(x,besseli(0:4,x), style=2:6)
193             legend('I'+string(0:4),2);
194             xtitle("Some modified Bessel functions of the first kind")
195             subplot(2,1,2)
196             plot2d(x,besseli(0:4,x,1), style=2:6)
197             legend('I'+string(0:4),1);
198             xtitle("Some modified scaled Bessel functions of the first kind")
199         </scilab:image>
200         <programlisting role="example"><![CDATA[
201 // besselJ 関数
202 // =================
203    x = linspace(0,40,5000)';
204    clf()
205    plot2d(x,besselj(0:4,x), style=2:6, leg="J0@J1@J2@J3@J4")
206    legend('I'+string(0:4),1);
207    xtitle("Some Bessel functions of the first kind")
208  ]]></programlisting>
209         <scilab:image>
210             x = linspace(0,40,5000)';
211             plot2d(x,besselj(0:4,x), style=2:6, leg="J0@J1@J2@J3@J4")
212             legend('I'+string(0:4),1);
213             xtitle("Some Bessel functions of the first kind")
214         </scilab:image>
215         <programlisting role="example"><![CDATA[
216 // J_(1/2)(x) = sqrt(2/(x pi)) sin(x) の関係を用いて
217 //  besselj(0.5,x) のアルゴリズムをより直接的な式と比較します
218    x = linspace(0.1,40,5000)';
219    y1 = besselj(0.5, x);
220    y2 = sqrt(2 ./(%pi*x)).*sin(x);
221    er = abs((y1-y2)./y2);
222    ind = find(er &gt; 0 &amp; y2 ~= 0);
223    clf()
224    subplot(2,1,1)
225    plot2d(x,y1,style=2)
226    xtitle("besselj(0.5,x)")
227    subplot(2,1,2)
228    plot2d(x(ind), er(ind), style=2, logflag="nl")
229    xtitle("relative error between 2 formulae for besselj(0.5,x)")
230  ]]></programlisting>
231         <scilab:image><![CDATA[
232    x = linspace(0.1,40,5000)';
233    y1 = besselj(0.5, x);
234    y2 = sqrt(2 ./(%pi*x)).*sin(x);
235    er = abs((y1-y2)./y2);
236    ind = find(er > 0 & y2 ~= 0);
237    clf()
238    subplot(2,1,1)
239    plot2d(x,y1,style=2)
240    xtitle("besselj(0.5,x)")
241    subplot(2,1,2)
242    plot2d(x(ind), er(ind), style=2, logflag="nl")
243    xtitle("relative error between 2 formulae for besselj(0.5,x)")
244  ]]></scilab:image>
245         <programlisting role="example"><![CDATA[
246 // besselK 関数
247 // =================
248    x = linspace(0.01,10,5000)';
249    clf()
250    subplot(2,1,1)
251    plot2d(x,besselk(0:4,x), style=0:4, rect=[0,0,6,10])
252    legend('K'+string(0:4),1);
253    xtitle("Some modified Bessel functions of the second kind")
254    subplot(2,1,2)
255    plot2d(x,besselk(0:4,x,1), style=0:4, rect=[0,0,6,10])
256    legend('K'+string(0:4),1);
257    xtitle("Some modified scaled Bessel functions of the second kind")
258  ]]></programlisting>
259         <scilab:image>
260             x = linspace(0.01,10,5000)';
261             clf()
262             subplot(2,1,1)
263             plot2d(x,besselk(0:4,x), style=0:4, rect=[0,0,6,10])
264             legend('K'+string(0:4),1);
265             xtitle("Some modified Bessel functions of the second kind")
266             subplot(2,1,2)
267             plot2d(x,besselk(0:4,x,1), style=0:4, rect=[0,0,6,10])
268             legend('K'+string(0:4),1);
269             xtitle("Some modified scaled Bessel functions of the second kind")
270         </scilab:image>
271         <programlisting role="example"><![CDATA[
272 // besselY 関数
273 // =================
274    x = linspace(0.1,40,5000)'; // Y ベッセル関数は x -&gt; 0+ については制限されません
275    clf()
276    plot2d(x,bessely(0:4,x), style=0:4, rect=[0,-1.5,40,0.6])
277    legend('Y'+string(0:4),4);
278    xtitle("Some Bessel functions of the second kind")
279  ]]></programlisting>
280         <scilab:image>
281             x = linspace(0.1,40,5000)'; // Y Bessel functions are unbounded  for x -> 0+
282             clf()
283             plot2d(x,bessely(0:4,x), style=0:4, rect=[0,-1.5,40,0.6])
284             legend('Y'+string(0:4),4);
285             xtitle("Some Bessel functions of the second kind")
286         </scilab:image>
287         <programlisting role="example"><![CDATA[
288 // besselH 関数
289 // =================
290    x=-4:0.025:2; y=-1.5:0.025:1.5;
291    [X,Y] = ndgrid(x,y);
292    H = besselh(0,1,X+%i*Y);
293    clf();f=gcf();
294    xset("fpf"," ")
295    f.color_map=jetcolormap(16);
296    contour2d(x,y,abs(H),0.2:0.2:3.2,strf="034",rect=[-4,-1.5,3,1.5])
297    legends(string(0.2:0.2:3.2),1:16,"ur")
298    xtitle("Level curves of |H1(0,z)|")
299  ]]></programlisting>
300         <scilab:image>
301             x=-4:0.025:2; y=-1.5:0.025:1.5;
302             [X,Y] = ndgrid(x,y);
303             H = besselh(0,1,X+%i*Y);
304             clf();f=gcf();
305             xset("fpf"," ")
306             f.color_map=jetcolormap(16);
307             contour2d(x,y,abs(H),0.2:0.2:3.2,strf="034",rect=[-4,-1.5,3,1.5])
308             legends(string(0.2:0.2:3.2),1:16,"ur")
309             xtitle("Level curves of |H1(0,z)|")
310         </scilab:image>
311     </refsection>
312     <refsection>
313         <title>使用される関数</title>
314         <para>ソースコードは SCI/modules/special_functions/src/fortran/slatec および
315             SCI/modules/special_functions/src/fortran にあります
316         </para>
317         <para>Slatec : dbesi.f, zbesi.f, dbesj.f, zbesj.f, dbesk.f, zbesk.f,
318             dbesy.f, zbesy.f, zbesh.f
319         </para>
320         <para>拡張定義領域(Serge Steer INRIA)のドライバ (Serge Steer INRIA): dbesig.f,
321             zbesig.f, dbesjg.f, zbesjg.f, dbeskg.f, zbeskg.f, dbesyg.f, zbesyg.f,
322             zbeshg.f
323         </para>
324     </refsection>
325 </refentry>