std::comp_ellint_2, std::comp_ellint_2f, std::comp_ellint_2l
| Definido en el archivo de encabezado <cmath>
|
||
double comp_ellint_2( double k);
float comp_ellint_2( float k );
long double comp_ellint_2( long double k );
float comp_ellint_2f( float k );
long double comp_ellint_2l( long double k );
|
(1) | (desde C++17) |
double comp_ellint_2( TipoEntero k );
|
(2) | (desde C++17) |
double.Parámetros
| k | - | El módulo elíptico o excentricidad (un valor de un tipo de punto flotante o tipo entero). |
Valor de retorno
Si no ocurren errores, el valor de la integral elíptica completa de segunda especie de k; es decir, se devuelve ellint_2(k,π/2).
Manejo de errores
Los errores se pueden informar como se especifica en math_errhandling.
- Si el argumento is NaN, se devuelve NaN y no se informa de un error de dominio.
- Si |k|>1, se puede generar un error de dominio.
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 está disponible en Boost.Math.
El perímetro de una elipse con excentricidad k y un eje semimayor a es igual a 4aE(k), donde E es std::comp_ellint_2. Cuando la excentricidad es igual a 0, la elipse degenera en un círculo con radio a y el perímetro es igual a 2πa, de tal manera que E(0) = π/2. Cuando la excentricidad es igual a 1, la elipse degenera en una línea de longitud 2a, cuyo perímetro es 4a, de tal manera que E(1) = 1.
Ejemplo
#include <cmath>
#include <iostream>
int main()
{
double hpi = std::acos(-1)/2;
std::cout << "E(0) = " << std::comp_ellint_2(0) << '\n'
<< "π/2 = " << hpi << '\n'
<< "E(1) = " << std::comp_ellint_2(1) << '\n'
<< "E(1, π/2) = " << std::ellint_2(1, hpi) << '\n';
}
Salida:
E(0) = 1.5708
π/2 = 1.5708
E(1) = 1
E(1, π/2) = 1
Enlaces externos
Weisstein, Eric W. "Integral elíptica completa de segunda especie." De MathWorld – Un recurso web de Wolfram.
Véase también
(C++17)(C++17)(C++17) |
Integral elíptica incompleta de segunda especie. (función) |