funciones beta(), betaf() y betal() en C++ STL

Beta(), betaf () y betal() son funciones integradas en C++ STL que se utilizan para calcular la función beta de dos valores reales positivos. La función toma dos variables x e y como entrada y devuelve la función beta de x e y. La función beta (también conocida como integral de Euler de primer tipo) de x e y se puede definir como: 

$$B(x, y)=\int_0^1 t^{x-1} (1-t)^{y-1} dt $$

Sintaxis 
 

double beta(double x, double y)
or 
long double betal(long double x, long double y)
or 
float betaf(float x, float y)

Parámetros: la función acepta dos parámetros obligatorios x e y que especifican los valores de un tipo de coma flotante o integral. Los parámetros pueden ser de tipo de datos double, double o float, float o long double, long double.
Valor devuelto: la función devuelve el valor de la función beta de x e y. El tipo de retorno depende de los parámetros pasados. Es el mismo que el del parámetro. 
Nota : la función se ejecuta en y por encima de C++ 17 (7.1). 
El siguiente programa ilustra las funciones beta(), betaf() y betal():
 

CPP

// C++ program to illustrate the three functions
// Being a special function, beta is only guaranteed
// to be in cmath if the user defines
//  __STDCPP_WANT_MATH_SPEC_FUNCS__ before including
// any standard library headers.
#define __STDCPP_WANT_MATH_SPEC_FUNCS__ 1
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
    // Computes the beta function of 5 and 4 and print it
    // If provided arguments are not of type double
    // they are implicitly type-casted to the higher type.
 
    // first example of beta()
    cout << beta(5, 4) << "\n";
 
    // second example of betaf()
    cout << betaf(10.0, 4.0) << "\n";
 
    // third example of betal()
    cout << betal(10.0, 6.7) << "\n";
    return 0;
}

Producción: 
 

0.00357143
0.00034965
1.65804e-005

Aplicación de la función Beta: se utiliza para calcular coeficientes binomiales. El coeficiente binomial en términos de función beta se puede expresar como:

$$\binom{n}{k}= \frac{1}{(n+1)B(n-k+1, k+1)}$$

La relación anterior se puede utilizar para calcular el coeficiente binomial. A continuación se muestra una ilustración: 
 

CPP

// C++ program to print the pascal triangle
// Being a special function, beta is only guaranteed
// to be in cmath if the user defines
//  __STDCPP_WANT_MATH_SPEC_FUNCS__ before including
// any standard library headers.
#define __STDCPP_WANT_MATH_SPEC_FUNCS__ 1
#include <bits/stdc++.h>
#include <cmath>
using namespace std;
 
// Function to return the value of binomial Coefficient
double binomialCoefficient(int n, int k)
{
    // Calculate the value of nCr using above formula.
    double ans = 1 / ((n + 1) * beta(n - k + 1, k + 1));
    return ans;
}
// Driver Code
int main()
{
    // Print the binomial Coefficient nCr where n=5 and r=2
    cout << binomialCoefficient(5, 2) << "\n";
 
    return 0;
}

Producción: 
 

10

Publicación traducida automáticamente

Artículo escrito por Pathak7 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *