27 public static function distribution($value, $trials, $probability, $cumulative)
39 return $e->getMessage();
42 if (($value < 0) || ($value > $trials)) {
47 return self::calculateCumulativeBinomial($value, $trials, $probability);
50 return Combinations::withoutRepetition($trials, $value) * $probability ** $value
51 * (1 - $probability) ** ($trials - $value);
68 public static function range($trials, $probability, $successes, $limit = null)
81 return $e->getMessage();
84 if (($successes < 0) || ($successes > $trials)) {
87 if (($limit < 0) || ($limit > $trials) || $limit < $successes) {
92 for (
$i = $successes;
$i <= $limit; ++
$i) {
93 $summer += Combinations::withoutRepetition($trials,
$i) * $probability **
$i 94 * (1 - $probability) ** ($trials -
$i);
118 public static function negative($failures, $successes, $probability)
129 return $e->getMessage();
132 if (($failures < 0) || ($successes < 1)) {
136 if (($failures + $successes - 1) <= 0) {
141 return (Combinations::withoutRepetition($failures + $successes - 1, $successes - 1))
142 * ($probability ** $successes) * ((1 - $probability) ** $failures);
157 public static function inverse($trials, $probability, $alpha)
168 return $e->getMessage();
173 } elseif (($alpha < 0.0) || ($alpha > 1.0)) {
178 while ($successes <= $trials) {
179 $result = self::calculateCumulativeBinomial($successes, $trials, $probability);
195 for (
$i = 0;
$i <= $value; ++
$i) {
196 $summer += Combinations::withoutRepetition($trials,
$i) * $probability **
$i 197 * (1 - $probability) ** ($trials -
$i);
static negative($failures, $successes, $probability)
NEGBINOMDIST.
static range($trials, $probability, $successes, $limit=null)
BINOM.DIST.RANGE.
static calculateCumulativeBinomial(int $value, int $trials, float $probability)
static inverse($trials, $probability, $alpha)
CRITBINOM.
static validateFloat($value)
const COMPATIBILITY_GNUMERIC
static validateProbability($probability)
static validateInt($value)
static flattenSingleValue($value='')
Convert an array to a single scalar value by extracting the first element.
static distribution($value, $trials, $probability, $cumulative)
BINOMDIST.
static validateBool($value)
static getCompatibilityMode()
Return the current Compatibility Mode.