PHP | stats_rand_gen_noncentral_f() Function

PHP stats_rand_gen_noncentral_f() Function


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 stats_rand_gen_noncentral_f() function.

The stats_rand_gen_noncentral_f() function generates a random deviate from the non-central F distribution.

Syntax

Following below is the syntax to use this function -

float stats_rand_gen_noncentral_f( float $dfn, float $dfd, float $xnonc )


Parameter Details

Sr.NoParameterDescription
1

dfn

The degrees of freedom of the numerator

2

dfd

The degrees of freedom of the numerator

3

xnonc

The non-centrality parameterv


Return Value

This PHP function return a random deviate from the noncentral f distribution where dfn (numerator) and dfd (denominator) are the degrees of freedom, and xnonc is the non-centrality parameter.

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 example below computes the random deviation from the non-central f distribution, where the degrees of freedoms are 2 and 3, and the non-centrality parameter is 4 -

<?php
   var_dump(is_float(stats_rand_gen_noncentral_f(2, 3, 4)));
?>

Output

When the above code is executed, it will produce the following result -

bool(true)

Example2

The following below is an error case. In the following example, we have passed dfn < 1. A warning is shown in logs -

<?php
   // error cases
   var_dump(stats_rand_gen_noncentral_f(0.9, 3, 4));    // dfn < 1
?>

Output

The above code will produce the following result and a warning in logs PHP Warning: stats_rand_gen_noncentral_f(): Either (1) Numerator dfn < 1.0 or (2) Denominator dfd <= 0.0 or (3) Noncentral parameter xnonc < 0.0. dfn: 9.000000E-1 dfd: 3.000000E+0 xnonc: 4.000000E+0

bool(false)

Example3

The following below is an error case. In the following example, we have passed dfd < 0. A warning is shown in logs -

<?php
   // error cases
   var_dump(stats_rand_gen_noncentral_f(2, -0.1, 4));   // dfd < 0
?>

Output

The above code will produce the following result and a warning in logs PHP Warning: stats_rand_gen_noncentral_f(): Either (1) Numerator dfn < 1.0 or (2) Denominator dfd <= 0.0 or (3) Noncentral parameter xnonc < 0.0. dfn: 2.000000E+0 dfd: -1.000000E-1 xnonc: 4.000000E+0

bool(false)

Example4

The following below is an error case. In the following example, we have passed dfd == 0. A warning is shown in logs -

<?php
   // error cases
   var_dump(stats_rand_gen_noncentral_f(2, 0, 4));      // dfd == 0
?>

Output

The above code will produce the following result and a warning in logs PHP Warning: stats_rand_gen_noncentral_f(): Either (1) Numerator dfn < 1.0 or (2) Denominator dfd <= 0.0 or (3) Noncentral parameter xnonc < 0.0. dfn: 2.000000E+0 dfd: 0.000000E+0 xnonc: 4.000000E+0

bool(false)

Example5

The following below is an error case. In the following example, we have passed xnonc < 0. A warning is shown in logs -

<?php
   // error cases
   var_dump(stats_rand_gen_noncentral_f(2, 3, -0.1));   // xnonc < 0
?>

Output

The above code will produce the following result and a warning in logs PHP Warning: stats_rand_gen_noncentral_f(): Either (1) Numerator dfn < 1.0 or (2) Denominator dfd <= 0.0 or (3) Noncentral parameter xnonc < 0.0. dfn: 2.000000E+0 dfd: 3.000000E+0 xnonc: -1.000000E-1

bool(false)


Alright guys! This is where we are going to be rounding up for this tutorial post. In our next tutorial, we will be studying about the built-in PHP stats_rand_gen_noncentral_t() Function.

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.