std::comp_ellint_2f
STD::COMP[医]艾林[医]2,STD::COMP[医]艾林[医]2F,STD::COMP[医]艾林[医]2L
double comp_ellint_2( double k double comp_ellint_2( float k double comp_ellint_2( long double k float comp_ellint_2f( float k long double comp_ellint_2l( long double k | (1) | (since C++17) |
---|---|---|
double comp_ellint_2( Integral k | (2) | (since C++17) |
1%29计算第二类完全椭圆积分成k
...
4%29一组过载或接受任意参数的函数模板积分型将参数转换为double
...
参数
k | - | elliptic modulus or eccentricity (a value of a floating-point or integral type) |
---|
返回值
如果没有错误发生,则第二类完全椭圆积分的值k
,那就是ellint_2(k,π/2)
,被归还。
错误处理
错误可以按数学[医]错误处理...
- 如果参数为nan,则返回nan,并且不报告域错误。
- 如果k>1时,可能会发生域错误。
注记
不支持C++17但支持的实现ISO 29124:2010,则提供此功能__STDCPP_MATH_SPEC_FUNCS__
由实现定义为值至少为201003L,且用户定义__STDCPP_WANT_MATH_SPEC_FUNCS__
在包含任何标准库头之前。
不支持iso 29124:2010但支持tr 19768:2007%28TR1%29的实现,在标头中提供此功能。tr1/cmath
和命名空间std::tr1
...
此功能的实现也是可以在中学里找到。...
偏心椭圆的周长k
半长轴a等于4AE%28k
%29,其中E为std::comp_ellint_2
当偏心度为0时,椭圆退化为半径为a,周长为2πa的圆,因此E%280%29=π/2。当偏心度等于1时,椭圆退化为一条长度为2a的线,其周长为4a,因此E%281%29=1。
例
二次
#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';
}
二次
产出:
二次
E(0) = 1.5708
π/2 = 1.5708
E(1) = 1
E(1, π/2) = 1
二次
外部链接
第二类完全椭圆积分。来自MathWorld的一个Wolfram Web资源。
另见
ellint_2ellint_2fellint_2l (C++17)(C++17)(C++17) | (incomplete) elliptic integral of the second kind (function) |
---|
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。