boxcox1p
Compute a one-parameter Box-Cox transformation of
1+x
.
A one-parameter Box-Cox transformation is defined as
Usage
var boxcox1p = require( '@stdlib/math/base/special/boxcox1p' );
boxcox1p( x, lambda )
Computes a one-parameter Box-Cox transformation of 1+x
.
var v = boxcox1p( 1.0, 2.5 );
// returns ~1.8627
v = boxcox1p( 4.0, 2.5 );
// returns ~21.9607
v = boxcox1p( 10.0, 2.5 );
// returns ~160.1246
v = boxcox1p( 2.0, 0.0 );
// returns ~1.0986
v = boxcox1p( -1.0, 2.5 );
// returns -0.4
v = boxcox1p( 0.0, -1.0 );
// returns 0.0
v = boxcox1p( -1.0, -1.0 );
// returns -Infinity
Examples
var incrspace = require( '@stdlib/array/base/incrspace' );
var boxcox1p = require( '@stdlib/math/base/special/boxcox1p' );
var x = incrspace( -1.0, 10.0, 1.0 );
var l = incrspace( -0.5, 5.0, 0.5 );
var b;
var i;
var j;
for ( i = 0; i < x.length; i++ ) {
for ( j = 0; j < l.length; j++ ) {
b = boxcox1p( x[ i ], l[ j ] );
console.log( 'boxcox1p(%d, %d) = %d', x[ i ], l[ j ], b );
}
}
C APIs
Usage
#include "stdlib/math/base/special/boxcox1p.h"
stdlib_base_boxcox1p( x, lambda )
Computes a one-parameter Box-Cox transformation of 1+x
.
double out = stdlib_base_boxcox1p( 1.0, 2.5 );
// returns ~1.8627
out = stdlib_base_boxcox1p( 4.0, 2.5 );
// returns ~21.9607
The function accepts the following arguments:
- x:
[in] double
input value. - lambda:
[in] double
power parameter.
double stdlib_base_boxcox1p( const double x, const double lambda );
Examples
#include "stdlib/math/base/special/boxcox1p.h"
#include <stdio.h>
int main( void ) {
const double x[] = { -1.0, 10.0, 1.0 };
const double l[] = { -0.5, 5.0, 0.5 };
double b;
int i;
int j;
for ( i = 0; i < 3; i++ ) {
for ( j = 0; j < 3; j++ ){
b = stdlib_base_boxcox1p( x[ i ], l[ j ] );
printf ( "boxcox1p(%lf, %lf) = %lf\n", x[ i ], l[ j ], b );
}
}
}
References
- Box, G. E. P., and D. R. Cox. 1964. "An Analysis of Transformations." Journal of the Royal Statistical Society. Series B (Methodological) 26 (2). [Royal Statistical Society, Wiley]: 211–52. http://www.jstor.org/stable/2984418.