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 ); |
(1) | (desde C++17) |
double comp_ellint_2( TipoEntero k ); |
(2) | (desde C++17) |
Contenido |
[editar] Parámetros
k | - | El módulo elíptico o excentricidad (un valor de un tipo de punto flotante o tipo entero). |
[editar] 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).
[editar] 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.
[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 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.
[editar] 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
[editar] Enlaces externos
Weisstein, Eric W. "Integral elíptica completa de segunda especie." De MathWorld – Un recurso web de Wolfram.
[editar] Véase también
(C++17)(C++17)(C++17) |
Integral elíptica incompleta de segunda especie. (función) |