[doc] bessel page: hardly readable MML equations => LaTeX
[scilab.git] / scilab / modules / special_functions / help / pt_BR / 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="pt">
20     <refnamediv xml:id="besseli">
21         <refname>besseli</refname>
22         <refpurpose>
23             funções modificadas de Bessel do primeiro tipo (I<subscript>α</subscript>).
24         </refpurpose>
25     </refnamediv>
26     <refnamediv xml:id="besselj">
27         <refname>besselj</refname>
28         <refpurpose>
29             funções de Bessel do primeiro tipo (J<subscript>α</subscript>).
30         </refpurpose>
31     </refnamediv>
32     <refnamediv xml:id="besselk">
33         <refname>besselk</refname>
34         <refpurpose>
35             funções modificadas de Bessel do segundo tipo (K<subscript>α</subscript>).
36         </refpurpose>
37     </refnamediv>
38     <refnamediv xml:id="bessely">
39         <refname>bessely</refname>
40         <refpurpose>
41             funções de Bessel do segundo tipo (Y<subscript>α</subscript>).
42         </refpurpose>
43     </refnamediv>
44     <refnamediv xml:id="besselh">
45         <refname>besselh</refname>
46         <refpurpose>funções de Bessel do terceiro tipo (também conhecidas como funções de Hankel)
47         </refpurpose>
48     </refnamediv>
49     <refsynopsisdiv>
50         <title>Seqüência de Chamamento</title>
51         <synopsis>
52             y = besseli(alpha, x [,ice])
53             y = besselj(alpha, x [,ice])
54             y = besselk(alpha, x [,ice])
55             y = bessely(alpha, x [,ice])
56             y = besselh(alpha, x)
57             y = besselh(alpha, K, x [,ice])
58         </synopsis>
59     </refsynopsisdiv>
60     <refsection>
61         <title>Parâmetros</title>
62         <variablelist>
63             <varlistentry>
64                 <term>x</term>
65                 <listitem>
66                     <para>vetor de reais ou complexos</para>
67                 </listitem>
68             </varlistentry>
69             <varlistentry>
70                 <term>alpha</term>
71                 <listitem>
72                     <para>vetor de reais </para>
73                 </listitem>
74             </varlistentry>
75             <varlistentry>
76                 <term>ice</term>
77                 <listitem>
78                     <para>flag (sinalizador) inteiro, com valor padrão 0 </para>
79                 </listitem>
80             </varlistentry>
81             <varlistentry>
82                 <term>K</term>
83                 <listitem>
84                     <para>inteiro, com valores possíveis 1 ou 2, a função do tipo de
85                         Hankel.
86                     </para>
87                 </listitem>
88             </varlistentry>
89         </variablelist>
90     </refsection>
91     <refsection>
92         <title>Descrição</title>
93         <itemizedlist>
94             <listitem>
95                 <para>
96                     <literal>besseli(alpha,x)</literal> computa as funções de Bessel
97                     modificadas do primeiro tipo (I<subscript>α</subscript>), para ordem real
98                     <varname>alpha</varname> e argumento <varname>x</varname>.
99                     <literal>besseli(alpha,x,1)</literal> computa
100                     <literal>besseli(alpha,x).*exp(-abs(real(x)))</literal>.
101                 </para>
102             </listitem>
103             <listitem>
104                 <para>
105                     <literal>besselj(alpha,x)</literal> computa as funções de Bessel
106                     do primeiro tipo (J<subscript>α</subscript>), para ordem real
107                     <varname>alpha</varname> e argumento <varname>x</varname>.
108                     <literal>besselj(alpha,x,1)</literal> computa
109                     <literal>besselj(alpha,x).*exp(-abs(imag(x)))</literal>.
110                 </para>
111             </listitem>
112             <listitem>
113                 <para>
114                     <literal>besselk(alpha,x)</literal> computa as funções de Bessel
115                     modificadas do segundo tipo (K<subscript>α</subscript>), para ordem real
116                     <varname>alpha</varname> e argumento <varname>x</varname>.
117                     <literal>besselk(alpha,x,1)</literal> computa
118                     <literal>besselk(alpha,x).*exp(x)</literal>.
119                 </para>
120             </listitem>
121             <listitem>
122                 <para>
123                     <literal>bessely(alpha,x)</literal> computa as funções de Bessel do segundo
124                     tipo (Y<subscript>α</subscript>), para ordem real <varname>alpha</varname>
125                     e argumento <varname>x</varname>.
126                     <literal>bessely(alpha,x,1)</literal> computa
127                     <literal>bessely(alpha,x).*exp(-abs(imag(x)))</literal>.
128                 </para>
129             </listitem>
130             <listitem>
131                 <para>
132                     <literal>besselh(alpha [,K] ,x)</literal> computa as funções de
133                     Bessel do terceiro tipo (função de Hankel H1 ou H2, dependendo do
134                     <literal>K</literal>), para ordem real <varname>alpha</varname> e
135                     argumentot <varname>x</varname>. Se omitido, <literal>K</literal> é
136                     suposto como sendo 1. <literal>besselh(alpha,1,x,1)</literal> computa
137                     <literal>besselh(alpha,1,x).*exp(-%i*x)</literal> e
138                     <literal>besselh(alpha,2,x,1)</literal> computa
139                     <literal>besselh(alpha,2,x).*exp(%i*x)</literal>
140                 </para>
141             </listitem>
142         </itemizedlist>
143     </refsection>
144     <refsection>
145         <title>Observações </title>
146         <para>
147             Se <varname>alpha</varname> e <varname>x</varname> são arrays de
148             mesmo tamanho, o resultado <literal>y</literal> também terá este tamanho.
149             Se uma entrada é um escalar, ela é expandida para o tamanho da outra
150             entrada. Se uma entrada é um vetor linha e a outra é um vetor coluna, o
151             resultado <literal>y</literal> é um table 2-dimensional ("tabela") de
152             valores de funções.
153         </para>
154         <para>
155             As funções de Bessel Y<subscript>α</subscript> e J<subscript>α</subscript>
156             são duas soluções independentes da equação diferencial de Bessel:
157         </para>
158         <latex style="display" alt="x^2.(d^2y/d^2x) + x.dy/dx + (x^2 - alpha^2).y = 0,  alpha ≥ 0">
159             {x^2} \cdot {{d^2 y} \over {dx^2}} + x \cdot {{dy} \over {dx}} + (x^2 - \alpha^2) \cdot y = 0,
160             \quad\alpha\ge0
161         </latex>
162         <para>
163             As funções modificadas de Bessel K<subscript>α</subscript> e I<subscript>α</subscript>
164             são duas soluções independentes para a equação diferencial de Bessel :
165         </para>
166         <latex style="display" alt="x^2.(d^2y/d^2x) + x.dy/dx + (alpha^2 - x^2).y = 0,  alpha ≥ 0">
167             {x^2} \cdot {{d^2 y} \over {dx^2}} + x \cdot {{dy} \over {dx}} + (\alpha^2 - x^2) \cdot y = 0,
168             \quad\alpha\ge0
169         </latex>
170         <para>
171             As funções de Hankel de primeiro e segundo tipos
172             H<superscript>2</superscript><subscript>α</subscript> e
173             H<superscript>2</superscript><subscript>α</subscript>, são combinações
174             lineares das funções de Bessel de primeiro e segundo tipos:
175         </para>
176         <latex style="display" alt="H^1_α(z) = J_α(z) + i \cdot Y_α(z)  \n
177 H^2_α(z) = J_α(z) - i \cdot Y_α(z)">
178             H^1_{\alpha}(z) = J_{\alpha}(z) + i \cdot Y_{\alpha}(z) \\
179             H^2_{\alpha}(z) = J_{\alpha}(z) - i \cdot Y_{\alpha}(z)
180         </latex>
181     </refsection>
182
183     <refsection>
184         <title>Exemplos</title>
185         <programlisting role="example"><![CDATA[
186 //  Funções I de Bessel
187 // ==================
188 x = linspace(0.01,10,5000)';
189 clf()
190 subplot(2,1,1)
191 plot2d(x,besseli(0:4,x), style=2:6)
192 legend('I'+string(0:4),2);
193 xtitle("Algumas funções modificadas de Bessel do primeiro tipo")
194 subplot(2,1,2)
195 plot2d(x,besseli(0:4,x,1), style=2:6)
196 legend('I'+string(0:4),1);
197 xtitle("Algumas funções modificadas de Bessel do primeiro tipo escaladas")
198  ]]></programlisting>
199         <scilab:image>
200             x = linspace(0.01,10,5000)';
201             clf()
202             subplot(2,1,1)
203             plot2d(x,besseli(0:4,x), style=2:6)
204             legend('I'+string(0:4),2);
205             xtitle("Some modified Bessel functions of the first kind")
206             subplot(2,1,2)
207             plot2d(x,besseli(0:4,x,1), style=2:6)
208             legend('I'+string(0:4),1);
209             xtitle("Some modified scaled Bessel functions of the first kind")
210         </scilab:image>
211         <para/>
212         <programlisting role="example"><![CDATA[
213
214 // Funções J de Bessel
215 // =================
216 x = linspace(0,40,5000)';
217 clf()
218 plot2d(x,besselj(0:4,x), style=2:6, leg="J0@J1@J2@J3@J4")
219 legend('I'+string(0:4),1);
220 xtitle("Algumas funções de Bessel do primeiro tipo")
221  ]]></programlisting>
222         <scilab:image>
223             x = linspace(0,40,5000)';
224             plot2d(x,besselj(0:4,x), style=2:6, leg="J0@J1@J2@J3@J4")
225             legend('I'+string(0:4),1);
226             xtitle("Some Bessel functions of the first kind")
227         </scilab:image>
228
229         <para/>
230         <programlisting role="example"><![CDATA[
231 // Usando o fato de que J_(1/2)(x) = sqrt(2/(x pi)) sin(x)
232 // Para comparar o algoritmo de besselj(0.5,x) com uma fórmula mais direta
233 x = linspace(0.1,40,5000)';
234 y1 = besselj(0.5, x);
235 y2 = sqrt(2 ./(%pi*x)).*sin(x);
236 er = abs((y1-y2)./y2);
237 ind = find(er > 0 & y2 ~= 0);
238 clf()
239 subplot(2,1,1)
240 plot2d(x,y1,style=2)
241 xtitle("besselj(0.5,x)")
242 subplot(2,1,2)
243 plot2d(x(ind), er(ind), style=2, logflag="nl")
244 xtitle("Erro relativo entre as duas fórmulas para besselj(0.5,x)")
245  ]]></programlisting>
246         <scilab:image><![CDATA[
247    x = linspace(0.1,40,5000)';
248    y1 = besselj(0.5, x);
249    y2 = sqrt(2 ./(%pi*x)).*sin(x);
250    er = abs((y1-y2)./y2);
251    ind = find(er > 0 & y2 ~= 0);
252    clf()
253    subplot(2,1,1)
254    plot2d(x,y1,style=2)
255    xtitle("besselj(0.5,x)")
256    subplot(2,1,2)
257    plot2d(x(ind), er(ind), style=2, logflag="nl")
258    xtitle("relative error between 2 formulae for besselj(0.5,x)")
259  ]]></scilab:image>
260
261         <para/>
262         <programlisting role="example"><![CDATA[
263 // Funções K de Bessel
264 // =================
265 x = linspace(0.01,10,5000)';
266 clf()
267 subplot(2,1,1)
268 plot2d(x,besselk(0:4,x), style=0:4, rect=[0,0,6,10])
269 legend('K'+string(0:4),1);
270 xtitle("Algumas funções modificadas de Bessel do segundo tipo")
271 subplot(2,1,2)
272 plot2d(x,besselk(0:4,x,1), style=0:4, rect=[0,0,6,10])
273 legend('K'+string(0:4),1);
274 xtitle("Algumas funções modificadas de Bessel do segundo tipo escaladas")
275  ]]></programlisting>
276         <scilab:image>
277             x = linspace(0.01,10,5000)';
278             clf()
279             subplot(2,1,1)
280             plot2d(x,besselk(0:4,x), style=0:4, rect=[0,0,6,10])
281             legend('K'+string(0:4),1);
282             xtitle("Some modified Bessel functions of the second kind")
283             subplot(2,1,2)
284             plot2d(x,besselk(0:4,x,1), style=0:4, rect=[0,0,6,10])
285             legend('K'+string(0:4),1);
286             xtitle("Some modified scaled Bessel functions of the second kind")
287         </scilab:image>
288
289         <para/>
290         <programlisting role="example"><![CDATA[
291 // Funções Y de Bessel
292 // =================
293 x = linspace(0.1,40,5000)'; // funções Y de Bessel não possuem limite para x -> 0+
294 clf()
295 plot2d(x,bessely(0:4,x), style=0:4, rect=[0,-1.5,40,0.6])
296 legend('Y'+string(0:4),4);
297 xtitle("Algumas funções de Bessel do segundo tipo")
298  ]]></programlisting>
299         <scilab:image>
300             x = linspace(0.1,40,5000)'; // Y Bessel functions are unbounded  for x -> 0+
301             clf()
302             plot2d(x,bessely(0:4,x), style=0:4, rect=[0,-1.5,40,0.6])
303             legend('Y'+string(0:4),4);
304             xtitle("Some Bessel functions of the second kind")
305         </scilab:image>
306
307         <para/>
308         <programlisting role="example"><![CDATA[
309 // Funções H de Bessel
310 // =================
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("Curvas de nível de |H1(0,z)|")
320  ]]></programlisting>
321         <scilab:image>
322             x=-4:0.025:2; y=-1.5:0.025:1.5;
323             [X,Y] = ndgrid(x,y);
324             H = besselh(0,1,X+%i*Y);
325             clf();f=gcf();
326             xset("fpf"," ")
327             f.color_map=jetcolormap(16);
328             contour2d(x,y,abs(H),0.2:0.2:3.2,strf="034",rect=[-4,-1.5,3,1.5])
329             legends(string(0.2:0.2:3.2),1:16,"ur")
330             xtitle("Level curves of |H1(0,z)|")
331         </scilab:image>
332     </refsection>
333     <refsection>
334         <title>Autores</title>
335         <simplelist type="vert">
336             <member>Amos, D. E., (SNLA)</member>
337             <member>Daniel, S. L., (SNLA)</member>
338             <member>Weston, M. K., (SNLA)</member>
339         </simplelist>
340     </refsection>
341     <refsection>
342         <title>Função Usada</title>
343         <para>Os códigos-fontes podem ser achados em SCI/modules/special_functions/src/fortran/slatec e SCI/modules/special_functions/src/fortran</para>
344         <para>Slatec : dbesi.f, zbesi.f, dbesj.f, zbesj.f, dbesk.f, zbesk.f,
345             dbesy.f, zbesy.f, zbesh.f
346         </para>
347         <para>Drivers para estender a área de definição (Serge Steer INRIA):
348             dbesig.f, zbesig.f, dbesjg.f, zbesjg.f, dbeskg.f, zbeskg.f, dbesyg.f,
349             zbesyg.f, zbeshg.f
350         </para>
351     </refsection>
352 </refentry>