Hello folks! welcome back to a new edition of our tutorial on PHP. In this tutorial guide, we are going to be discussing briefly about the php stats_dens_pmf_negative_binomial() function.
The stats_dens_pmf_negative_binomial() function is a probability mass function of the negative binomial distribution.
The stats_dens_pmf_negative_binomial() function is a probability mass function of the negative binomial distribution.
Syntax
Following below is the syntax to use this function -
float stats_dens_pmf_negative_binomial( float $x, float $n, float $pi )
Parameter Details
Sr.No | Parameter | Description |
---|---|---|
1 | x | The value at which the probability mass is calculated |
2 | n | The number of the success of the distribution |
3 | pi | The success rate of the distribution |
Return Value
This built-in function returns the probability mass at x, where the random variable can follow the negative binomial distribution of which the number of success and success rate are n and pi respectively, else it returns false on failure.
Dependencies
This built-in function was first introduced in statistics extension (PHP version 4.0.0 and PEAR v1.4.0). In this tutorial guide, we used the latest release of stats-2.0.3 (PHP v7.0.0 or newer and PEAR version 1.4.0 or newer).
Example1
The following example below computes the probability mass for each x -
<?php // check for each x foreach (range(0, 3) as $x) { var_dump(stats_dens_pmf_negative_binomial($x, 2, 0.4)); echo "<br>"; } ?>
Output
When the above code is executed, it will produce the following result -
float(0.16) float(0.192) float(0.1728) float(0.13824)
Example2
The following example below computes the probability mass for each n -
<?php // check for each n foreach (range(0, 3) as $n) { var_dump(stats_dens_pmf_negative_binomial(1, $n, 0.4)); echo "<br>"; } ?>
Output
When the above code is executed, it will produce the following output -
float(0) float(0.24) float(0.192) float(0.1152)
Example3
The following example below computes the probability mass for each pi -
<?php // check for each pi foreach (range(0, 1, 0.2) as $pi) { var_dump(stats_dens_pmf_negative_binomial(1, 2, $pi)); echo "<br>"; } ?>
Output
When the above code is executed, it will produce the following output -
float(0) float(0.064) float(0.192) float(0.288) float(0.256) float(0)
Example4
The following below is an error case. In the following example, we passed n == 0 and pi == 0. A warning is shown in logs -
<?php // error cases var_dump(stats_dens_pmf_negative_binomial(1, 0, 0)); // n == 0 and pi == 0 ?>
Output
The above code will produce the following result and a warning in logs PHP Warning: stats_dens_pmf_negative_binomial(): Param leading to pow(0, 0). x: 1.000000E+0 n: 0.000000E+0 pi: 0.000000E+0
bool(false)
Example5
The following below is an error case. In the following example, we passed x == 0 and pi == 1. A warning is shown in logs -
<?php // error cases var_dump(stats_dens_pmf_negative_binomial(0, 2, 1)); // x == 0 and pi == 1 ?>
Output
The above code will produce the following result and a warning in logs PHP Warning: stats_dens_pmf_negative_binomial(): Param leading to pow(0, 0). x: 0.000000E+0 n: 2.000000E+0 pi: 1.000000E+0
bool(false)
Alright guys! This is where we are going to be rounding up for this tutorial post. In our next tutorial, we are going to be discussing about the built-in stats_dens_pmf_poisson() Function in PHP.
Feel free to ask your questions where necessary and we will attend to them as soon as possible. If this tutorial was helpful to you, you can use the share button to share this tutorial.
Follow us on our various social media platforms to stay updated with our latest tutorials. You can also subscribe to our newsletter in order to get our tutorials delivered directly to your emails.
Thanks for reading and bye for now.
Feel free to ask your questions where necessary and we will attend to them as soon as possible. If this tutorial was helpful to you, you can use the share button to share this tutorial.
Follow us on our various social media platforms to stay updated with our latest tutorials. You can also subscribe to our newsletter in order to get our tutorials delivered directly to your emails.
Thanks for reading and bye for now.