std::beta
STD:beta,STD::betaf,STD::betal
double beta( double x, double y float betaf( float x, float y long double betal( long double x, long double y | (1) | (since C++17) |
---|---|---|
Promoted beta( Arithmetic x, Arithmetic y | (2) | (since C++17) |
1%29计算β函数成x
和y
...
2%29一组重载或函数模板,用于%281%29中未涵盖的所有算术类型的参数组合。如果有任何争论积分型,它被铸造成double
.如果有任何争论long double
,则返回类型Promoted
也是long double
,否则返回类型总是double
...
参数
x, y | - | values of a floating-point or integral type |
---|
返回值
如果没有错误发生,则测试函数的值x
和y
,那就是整1。
0tx-1
%281-t%29%28y-1%29
丁T型
或者,或者,相当的,
Γ%28x%29Γ%28y%29
*。
Γ%28x+y%29
会被归还。
错误处理
错误可以按数学[医]错误处理...
- 如果任何参数为nan,则返回nan,并且不报告域错误。
- 函数只需要在以下两种情况下定义:
x
和y
大于零,否则允许报告域错误。
注记
不支持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
...
此功能的实现也是可以在中学里找到。...
beta(x, y)
等号beta(y, x)
何时x
和y
是正整数,β%28 x
,y
%29等于。
%28x-1%29%21%28 y-1%29%21
*。
%28x+y-1%29%21
二项式系数可以用β函数表示:
二次
二次
亚单位n
K...
二次
一
*。
%28N+1%29 B%28N-k+1,k+1%29
例
二次
#include <cmath>
#include <string>
#include <iostream>
#include <iomanip>
double binom(int n, int k) { return 1/((n+1)*std::beta(n-k+1,k+1) }
int main()
{
std::cout << "Pascal's triangle:\n";
for(int n = 1; n < 10; ++n) {
std::cout << std::string(20-n*2, ' '
for(int k = 1; k < n; ++k)
std::cout << std::setw(3) << binom(n,k) << ' ';
std::cout << '\n';
}
}
二次
产出:
二次
Pascal's triangle:
2
3 3
4 6 4
5 10 10 5
6 15 20 15 6
7 21 35 35 21 7
8 28 56 70 56 28 8
9 36 84 126 126 84 36 9
二次
另见
tgamma (C++11) | gamma function (function) |
---|
外部链接
韦斯斯坦,埃里克W.“贝塔函数”来自MathWorld的一个Wolfram Web资源。
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。