std::comp_ellint_3f
STD::COMP[医]艾林[医]3、STD::COMP[医]艾林[医]3F,STD::COMP[医]艾林[医]3L
double comp_ellint_3( double k, double ν float comp_ellint_3f( float k, float ν long double comp_ellint_3l( long double k, long double ν | (1) | (since C++17) |
---|---|---|
Promoted comp_ellint_3( Arithmetic k, Arithmetic ν | (2) | (since C++17) |
1%29计算第三类完全椭圆积分争论k
和ν
...
2%29一组重载或函数模板,用于%281%29中未涵盖的所有算术类型的参数组合。如果有任何争论积分型,它被铸造成double
.如果有任何争论long double
,则返回类型Promoted
也是long double
,否则返回类型总是double
...
参数
k | - | elliptic modulus or eccentricity (a value of a floating-point or integral type) |
---|---|---|
ν | - | elliptic characteristic (a value of floating-point or integral type) |
返回值
如果没有误差,则第三类完全椭圆积分的值k
和ν
,那就是std::ellint_3(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
...
此功能的实现也是可以在中学里找到。...
例
二次
#include <cmath>
#include <iostream>
int main()
{
double hpi = std::acos(-1)/2;
std::cout << "Π(0.5,0) = " << std::comp_ellint_3(0.5, 0) << '\n'
<< "K(0.5) = " << std::comp_ellint_1(0.5) << '\n'
<< "Π(0,0) = " << std::comp_ellint_3(0, 0) << '\n'
<< "π/2 = " << hpi << '\n'
<< "Π(0.5,1) = " << std::comp_ellint_3(0.5, 1) << '\n';
}
二次
产出:
二次
Π(0.5,0) = 1.68575
K(0.5) = 1.68575
Π(0,0) = 1.5708
π/2 = 1.5708
Π(0.5,1) = inf
二次
外部链接
第二类椭圆积分。来自MathWorld的一个Wolfram Web资源。
另见
ellint_3ellint_3fellint_3l (C++17)(C++17)(C++17) | (incomplete) elliptic integral of the third kind (function) |
---|
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。