Espacios de nombres
Variantes
Acciones

std::cyl_neumann, std::cyl_neumannf, std::cyl_neumannl

De cppreference.com
 
 
 
 
Definido en el archivo de encabezado <cmath>
double      cyl_neumann(double ν, double x );

float       cyl_neumannf(float ν, float x  );

longdouble cyl_neumannl(longdouble ν, longdouble x );
(1) (desde C++17)
Promovido   cyl_neumann( Aritmético ν, Aritmético x );
(2) (desde C++17)
1) Calcula la función cilíndrica de Neumann (también conocida como función de Bessel de segunda especie o función de Weber) de ν y x.
2) Un conjunto de sobrecargas o una plantilla de función para todas las combinaciones de argumentos de tipo aritmético no cubiertas por (1). Si cualquier argumento tiene tipo entero, se convierte a double. Si cualquier argumento es longdouble, entonces el tipo de retorno Promovido también es longdouble, de lo contrario el tipo de retorno es siempre double.

Contenido

[editar]Parámetros

ν - El orden de la función.
x - El argumento de la función.

[editar]Valor de retorno

Si no se generan errores, devuelve el valor de la función cilíndrica de Neumann (función de Bessel de segunda especie) de ν y x; es decir N
ν
(x) =
J
ν
(x)cos(νπ)-J
(x)
sin(νπ)
(donde J
ν
(x)
es std::cyl_bessel_j(ν,x)) para x≥0 y ν no entera; para una ν entera se usa un límite.

[editar]Manejo de errores

Los errores se pueden informar como se especifica en math_errhandling.

  • Si el argumento es NaN, se devuelve NaN y no se informa de un error de dominio.
  • Si ν>=128, el comportamiento está definido por la implementación.

[editar]Notas

Las implementaciones que no son compatibles con C++17, pero son compatibles con ISO 29124:2010, proporcionan esta función si __STDCPP_MATH_SPEC_FUNCS__ está definida por la implementación a un valor de al menos 201003L y si el usuario define __STDCPP_WANT_MATH_SPEC_FUNCS__ antes de incluir cualquier archivo de encabezado de la biblioteca estándar.

Las implementaciones que no son compatibles con ISO 29124:2010 pero son compatibles con TR 19768:2007 (TR1), proporcionan esta función en el archivo de encabezado tr1/cmath y el espacio de nombres std::tr1.

Una implementación de esta función también se encuentra disponible en Boost.Math.

[editar]Ejemplo

#include <cassert>#include <cmath>#include <iostream>#include <numbers>   constdouble π =std::numbers::pi;// or std::acos(-1) in pre C++20   // Para calcular la función cilíndrica de Neumann vía la función cilíndrica de Bessel de// primera especie tenemos que implementar la J₋ᵥ, ya que la invocación directa de// std::cyl_bessel_j(ν,x), de acuerdo con la fórmula anterior, genera 'std::domain_error'// para una ν negativa.// Mal argumento en __cyl_bessel_j.   double J₋ᵥ (double ν, double x){returnstd::cos(-ν*π)*std::cyl_bessel_j(-ν,x)-std::sin(-ν*π)* std::cyl_neumann(-ν,x);}   double J₊ᵥ (double ν, double x){returnstd::cyl_bessel_j(ν,x);}   double Jᵥ (double ν, double x){return ν <0.0? J₋ᵥ(ν,x): J₊ᵥ(ν,x);}   int main(){std::cout<<"verificaciones al azar para ν == 0.5\n"<<std::fixed<<std::showpos;double ν =0.5;for(double x =0.0; x <=2.0; x +=0.333){constdouble n = std::cyl_neumann(ν, x);constdouble j =(Jᵥ(ν, x)*std::cos(ν*π)- Jᵥ(-ν, x))/std::sin(ν*π);std::cout<<"N_.5("<< x <<") = "<< n <<", calculado vía J = "<< j <<'\n';assert(n == j);}}

Salida:

verificaciones al azar para ν == 0.5 N_.5(+0.000000) = -inf, calculado vía J = -inf N_.5(+0.333000) = -1.306713, calculado vía J = -1.306713 N_.5(+0.666000) = -0.768760, calculado vía J = -0.768760 N_.5(+0.999000) = -0.431986, calculado vía J = -0.431986 N_.5(+1.332000) = -0.163524, calculado vía J = -0.163524 N_.5(+1.665000) = +0.058165, calculado vía J = +0.058165 N_.5(+1.998000) = +0.233876, calculado vía J = +0.233876

[editar]Véase también

Funciones cilíndricas de Bessel regulares modificadas.
(función)[editar]
Funciones cilíndricas de Bessel de primera especie.
(función)[editar]
Funciones cilíndricas de Bessel irregulares modificadas (o de segunda especie).
(función)[editar]

[editar]Enlaces externos

Weisstein, Eric W. "Función de Bessel de segunda especie." De MathWorld — Un recurso web de Wolfram.

close