Namespaces
Variants

std:: beta, std:: betaf, std:: betal

From cppreference.net
double beta ( double x, double y ) ;

float betaf ( float x, float y ) ;

long double betal ( long double x, long double y ) ;
(1)
Promoted    beta ( Arithmetic x, Arithmetic y ) ;
(2)
1) Calcule la fonction bêta de x et y .
2) Un ensemble de surcharges ou un modèle de fonction pour toutes les combinaisons d'arguments de type arithmétique non couvertes par (1) . Si un argument a un type intégral , il est converti en double . Si un argument est de type long double , alors le type de retour Promoted est également long double , sinon le type de retour est toujours double .

Comme toutes les fonctions spéciales, beta n'est garantie d'être disponible dans <cmath> que si __STDCPP_MATH_SPEC_FUNCS__ est défini par l'implémentation à une valeur d'au moins 201003L et si l'utilisateur définit __STDCPP_WANT_MATH_SPEC_FUNCS__ avant d'inclure tout en-tête de la bibliothèque standard.

Table des matières

Paramètres

x, y - valeurs d'un type à virgule flottante ou entier

Valeur de retour

If no errors occur, value of the beta function of x and y , that is 1
0
t x-1
(1 - t) (y-1)
d t
, or, equivalently,
Γ(x)Γ(y)
Γ(x + y)
is returned.

Gestion des erreurs

Les erreurs peuvent être signalées comme spécifié dans math_errhandling .

  • Si un argument est NaN, NaN est retourné et aucune erreur de domaine n'est signalée.
  • La fonction n'est requise d'être définie que lorsque x et y sont tous deux supérieurs à zéro, et peut signaler une erreur de domaine dans les autres cas.

Notes

Les implémentations qui ne prennent pas en charge TR 29124 mais prennent en charge TR 19768 fournissent cette fonction dans l'en-tête tr1/cmath et l'espace de noms std::tr1 .

Une implémentation de cette fonction est également disponible dans boost.math .

beta ( x, y ) est égal à beta ( y, x ) .

When x and y are positive integers, beta(x, y) equals
(x - 1)!(y - 1)!
(x + y - 1)!
. Binomial coefficients can be expressed in terms of the beta function:

n
k


=
1
(n + 1)Β(n - k + 1, k + 1)
.

Exemple

(fonctionne comme illustré avec gcc 6.0)

#define __STDCPP_WANT_MATH_SPEC_FUNCS__ 1
#include <cmath>
#include <iomanip>
#include <iostream>
#include <string>
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';
    }
}

Sortie :

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

Voir aussi

(C++11) (C++11) (C++11)
fonction gamma
(fonction)

Liens externes

Weisstein, Eric W. "Fonction Bêta." De MathWorld--Une ressource Web Wolfram.