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) Berechnet die Betafunktion von x und y .
2) Ein Satz von Überladungen oder eine Funktionsvorlage für alle Kombinationen von Argumenten arithmetischen Typs, die nicht durch (1) abgedeckt sind. Wenn ein Argument integralen Typ hat, wird es zu double konvertiert. Wenn ein Argument long double ist, dann ist der Rückgabetyp Promoted ebenfalls long double , andernfalls ist der Rückgabetyp immer double .

Wie alle speziellen Funktionen ist beta nur garantiert in <cmath> verfügbar, wenn __STDCPP_MATH_SPEC_FUNCS__ von der Implementierung auf einen Wert von mindestens 201003L definiert wird und wenn der Benutzer __STDCPP_WANT_MATH_SPEC_FUNCS__ definiert, bevor er Standardbibliotheksheader einbindet.

Inhaltsverzeichnis

Parameter

x, y - Werte eines Gleitkomma- oder Ganzzahltyps

Rückgabewert

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.

Fehlerbehandlung

Fehler können gemäß den Spezifikationen in math_errhandling gemeldet werden.

  • Wenn ein Argument NaN ist, wird NaN zurückgegeben und kein Domänenfehler gemeldet.
  • Die Funktion muss nur dort definiert sein, wo sowohl x als auch y größer als Null sind, und darf andernfalls einen Domänenfehler melden.

Hinweise

Implementierungen, die TR 29124 nicht unterstützen, aber TR 19768 unterstützen, stellen diese Funktion im Header tr1/cmath und im Namespace std::tr1 bereit.

Eine Implementierung dieser Funktion ist ebenfalls in boost.math verfügbar .

beta ( x, y ) entspricht 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)
.

Beispiel

(funktioniert wie dargestellt mit 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';
    }
}

Ausgabe:

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

Siehe auch

(C++11) (C++11) (C++11)
Gamma-Funktion
(Funktion)

Externe Links

Weisstein, Eric W. "Beta Function." Von MathWorld--Eine Wolfram Web Resource.