$\newcommand{\bbx}[1]{\,\bbox[8px,border:1px groove armada]{\displaystyle{#1}}\,}
\newcommand{\llaves}[1]{\left\lbrace\,{#1}\,\right\rbrace}
\newcommand{\bracks}[1]{\left\lbrack\,{#1}\,\right\rbrack}
\newcommand{\dd}{\mathrm{d}}
\newcommand{\ds}[1]{\displaystyle{#1}}
\newcommand{\expo}[1]{\,\mathrm{e}^{#1}\,}
\newcommand{\ic}{\mathrm{i}}
\newcommand{\mc}[1]{\mathcal{#1}}
\newcommand{\mrm}[1]{\mathrm{#1}}
\newcommand{\pars}[1]{\left(\,{#1}\,\right)}
\newcommand{\partiald}[3][]{\frac{\partial^{#1} #2}{\parcial #3^{#1}}}
\newcommand{\raíz}[2][]{\,\sqrt[#1]{\,{#2}\,}\,}
\newcommand{\totald}[3][]{\frac{\mathrm{d}^{#1} #2}{\mathrm{d} #3^{#1}}}
\newcommand{\verts}[1]{\left\vert\,{#1}\,\right\vert}$
Con el fin de realizar una integración numérica se debe tener cuidado de la $\ds{t \over \expo{t} - 1}$ 'integrable singularidad'. Tenga en cuenta que
$\ds{{t \over \expo{t} - 1} \sim 1 - {1 \over 2}\,t + {1 \over 12}\,t^{2} - {1 \over 720}\,t^{4} + \,\mrm{O}\pars{t^{6}}}$.
$$
\mbox{Reemplazar}\quad {t \\expo{t} - 1}\quad\mbox{por}\quad\mrm{f}\pars{t} \equiv
\left\{\begin{array}{lcl}
\ds{-1} & \mbox{if} & \ds{\phantom{|,}t\phantom{\,|} <\ \texttt{TOL_0}}
\\[2mm]
\ds{\phantom{-}0} & \mbox{if} & \ds{\phantom{|\,}t\phantom{\,|} >\ \texttt{-TOL_0}}
\\[2mm]
\ds{t \over \expo{t} - 1} & \mbox{if} & \ds{\verts{t} > \texttt{TOL_1}}
\\[2mm]
\ds{1.0 - 0.5\,t\pars{1.0 - {t \over 6.0}}} && \mbox{Otherwise}
\end{array}\right.
$$
$\ds{\texttt{TOL_0}}$ $\ds{\texttt{TOL_1}}$ se definen en términos de la
Precisión De La Máquina$\texttt{MP}$
de la siguiente manera:
$$
\texttt{TOL_0} \equiv \ln\pars{\texttt{MP}}/1.05\,;\qquad
\texttt{TOL_1} \equiv 1.05\pars{720.0\,\,\,\texttt{MP}}^{1/4}
$$
El $\ds{1.05}$-factor se incluye para evitar errores de redondeo$\ds{\pars{~namely,\ 5\ \% ~}}$.
$$\bbox[#ffe,10px,border:1px groove armada]{\ds{%
\mbox{Con}\ \,\mrm{f}\pars{t}\mbox{, como se indica más arriba, usted puede utilizar}\ seguridad\ \mbox{la}\ Simpson\ Método.}}
$$
Para el propósito de este ejemplo, voy a incluir un $\texttt{javascript}$ código
$\ds{\pars{~\mbox{se puede ejecutar en una}\ terminal\ \mbox{con}\ \texttt{nodo}:
\texttt{nodo integ0.js}~}}$:
// integ0.js
"use strict";
var MACHINEPRECISION = (function() // Precisión de la Máquina ( por definición )
{
var machPrec = 1.0
var temp = 1.0;
while((1.0 + temp) > 1.0) {
machPrec = temp;
temp /= 2.0;
}
volver machPrec;
})();
var f = (function ()
{
var TOL_0 = Matemáticas.log(MACHINEPRECISION)/1.05;
var TOL_1 = 1.05*Matemáticas.pow(720.0*MACHINEPRECISION,0.25);
la consola.log("\nTOL_0 = " + TOL_0 + "\nTOL_1 = " + TOL_1);
función de devolución (t)
{
if (t < TOL_0) de retorno de t;
if (t > -TOL_0) return 0;
if (Math.abs(t) > TOL_1) de retorno de t/(Math.exp(t) - 1.0);
volver 1.0 - 0.5*t*(1.0 - t/6.0);
};
})();
la consola.log("\nMACHINE PRECISIÓN = " + MACHINEPRECISION + "\n");
El resultado es:
$\begin{array}{l}
\ds{\texttt{TOL_0 = -34.32728894201634}}
\\
\ds{\texttt{TOL_1 = 0.0006639455730754197}}
\\
\ds{\texttt{MACHINE PRECISION = 2.220446049250313e-16}}
\\
\end{array}$
Intentar poner en práctica la Regla de Simpson.