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