Compute the logit function.
The logit function is defined as the logarithm of the odds p / (1-p)
; i.e.,
The logit function is the inverse of the standard logistic function, sometimes also called the sigmoid function.
var logit = require( '@stdlib/math/base/special/logit' );
Computes the logit function.
var v = logit( 0.2 );
// returns ~-1.386
v = logit( 0.9 );
// returns ~2.197
If p < 0
or p > 1
, the function returns NaN
.
var v = logit( 1.3 );
// returns NaN
v = logit( -0.2 );
// returns NaN
var uniform = require( '@stdlib/random/array/uniform' );
var logEachMap = require( '@stdlib/console/log-each-map' );
var logit = require( '@stdlib/math/base/special/logit' );
var opts = {
'dtype': 'float64'
};
var p = uniform( 100, 0.0, 1.0, opts );
logEachMap( 'logit(%0.4f) = %0.4f', p, logit );
#include "stdlib/math/base/special/logit.h"
Computes the logit function.
double out = stdlib_base_logit( 0.2 );
// returns ~-1.386
out = stdlib_base_logit( 0.9 );
// returns ~2.197
The function accepts the following arguments:
- p:
[in] double
input value.
double stdlib_base_logit( const double p );
#include "stdlib/math/base/special/logit.h"
#include <stdlib.h>
#include <stdio.h>
int main( void ) {
double x;
double v;
int i;
for ( i = 0; i < 100; i++ ) {
x = (double)rand() / (double)RAND_MAX;
v = stdlib_base_logit( x );
printf( "logit(%lf) = %lf\n", x, v );
}
}