PHPExcel_Calculation_Engineering

category | PHPExcel
package | PHPExcel_Calculation
copyright | Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)

### Methods

## BESSELI

    BESSELI(float $x, integer $ord) : float

Static

Returns the modified Bessel function In(x), which is equivalent to the Bessel function evaluated for purely imaginary arguments

Excel Function: BESSELI(x,ord)

access | public
category | Engineering Functions

### Parameters

#### $x

`float`

The value at which to evaluate the function. If x is nonnumeric, BESSELI returns the #VALUE! error value.

#### $ord

`integer`

The order of the Bessel function. If ord is not an integer, it is truncated. If $ord is nonnumeric, BESSELI returns the #VALUE! error value. If $ord < 0, BESSELI returns the #NUM! error value.

### Returns

`float`

## BESSELJ

    BESSELJ(float $x, integer $ord) : float

Static

Returns the Bessel function

Excel Function: BESSELJ(x,ord)

access | public
category | Engineering Functions

### Parameters

#### $x

`float`

The value at which to evaluate the function. If x is nonnumeric, BESSELJ returns the #VALUE! error value.

#### $ord

`integer`

The order of the Bessel function. If n is not an integer, it is truncated. If $ord is nonnumeric, BESSELJ returns the #VALUE! error value. If $ord < 0, BESSELJ returns the #NUM! error value.

### Returns

`float`

## BESSELK

    BESSELK(float $x, integer $ord) : float

Static

Returns the modified Bessel function Kn(x), which is equivalent to the Bessel functions evaluated for purely imaginary arguments.

Excel Function: BESSELK(x,ord)

access | public
category | Engineering Functions

### Parameters

#### $x

`float`

The value at which to evaluate the function. If x is nonnumeric, BESSELK returns the #VALUE! error value.

#### $ord

`integer`

The order of the Bessel function. If n is not an integer, it is truncated. If $ord is nonnumeric, BESSELK returns the #VALUE! error value. If $ord < 0, BESSELK returns the #NUM! error value.

### Returns

`float`

## BESSELY

    BESSELY(float $x, integer $ord) : float

Static

Returns the Bessel function, which is also called the Weber function or the Neumann function.

Excel Function: BESSELY(x,ord)

access | public
category | Engineering Functions

### Parameters

#### $x

`float`

The value at which to evaluate the function. If x is nonnumeric, BESSELK returns the #VALUE! error value.

#### $ord

`integer`

The order of the Bessel function. If n is not an integer, it is truncated. If $ord is nonnumeric, BESSELK returns the #VALUE! error value. If $ord < 0, BESSELK returns the #NUM! error value.

### Returns

`float`

## BINTODEC

    BINTODEC(string $x) : string

Static

Return a binary value as decimal.

Excel Function: BIN2DEC(x)

access | public
category | Engineering Functions

### Parameters

#### $x

`string`

The binary number (as a string) that you want to convert. The number cannot contain more than 10 characters (10 bits). The most significant bit of number is the sign bit. The remaining 9 bits are magnitude bits. Negative numbers are represented using two's-complement notation. If number is not a valid binary number, or if number contains more than 10 characters (10 bits), BIN2DEC returns the #NUM! error value.

### Returns

`string`

## BINTOHEX

    BINTOHEX(string $x, integer $places) : string

Static

Return a binary value as hex.

Excel Function: BIN2HEX(x[,places])

access | public
category | Engineering Functions

### Parameters

#### $x

`string`

The binary number (as a string) that you want to convert. The number cannot contain more than 10 characters (10 bits). The most significant bit of number is the sign bit. The remaining 9 bits are magnitude bits. Negative numbers are represented using two's-complement notation. If number is not a valid binary number, or if number contains more than 10 characters (10 bits), BIN2HEX returns the #NUM! error value.

#### $places

`integer`

The number of characters to use. If places is omitted, BIN2HEX uses the minimum number of characters necessary. Places is useful for padding the return value with leading 0s (zeros). If places is not an integer, it is truncated. If places is nonnumeric, BIN2HEX returns the #VALUE! error value. If places is negative, BIN2HEX returns the #NUM! error value.

### Returns

`string`

## BINTOOCT

    BINTOOCT(string $x, integer $places) : string

Static

Return a binary value as octal.

Excel Function: BIN2OCT(x[,places])

access | public
category | Engineering Functions

### Parameters

#### $x

`string`

The binary number (as a string) that you want to convert. The number cannot contain more than 10 characters (10 bits). The most significant bit of number is the sign bit. The remaining 9 bits are magnitude bits. Negative numbers are represented using two's-complement notation. If number is not a valid binary number, or if number contains more than 10 characters (10 bits), BIN2OCT returns the #NUM! error value.

#### $places

`integer`

The number of characters to use. If places is omitted, BIN2OCT uses the minimum number of characters necessary. Places is useful for padding the return value with leading 0s (zeros). If places is not an integer, it is truncated. If places is nonnumeric, BIN2OCT returns the #VALUE! error value. If places is negative, BIN2OCT returns the #NUM! error value.

### Returns

`string`

## COMPLEX

    COMPLEX(float $realNumber, float $imaginary, string $suffix) : string

Static

Converts real and imaginary coefficients into a complex number of the form x + yi or x + yj.

Excel Function: COMPLEX(realNumber,imaginary[,places])

access | public
category | Engineering Functions

### Parameters

#### $realNumber

`float`

The real coefficient of the complex number.

#### $imaginary

`float`

The imaginary coefficient of the complex number.

#### $suffix

`string`

The suffix for the imaginary component of the complex number. If omitted, the suffix is assumed to be "i".

### Returns

`string`

## CONVERTUOM

    CONVERTUOM(float $value, string $fromUOM, string $toUOM) : float

Static

Converts a number from one measurement system to another. For example, CONVERT can translate a table of distances in miles to a table of distances in kilometers.

Excel Function: CONVERT(value,fromUOM,toUOM)

### Parameters

#### $value

`float`

The value in fromUOM to convert.

#### $fromUOM

`string`

The units for value.

#### $toUOM

`string`

The units for the result.

### Returns

`float`

## DECTOBIN

    DECTOBIN(string $x, integer $places) : string

Static

Return a decimal value as binary.

Excel Function: DEC2BIN(x[,places])

access | public
category | Engineering Functions

### Parameters

#### $x

`string`

The decimal integer you want to convert. If number is negative, valid place values are ignored and DEC2BIN returns a 10-character (10-bit) binary number in which the most significant bit is the sign bit. The remaining 9 bits are magnitude bits. Negative numbers are represented using two's-complement notation. If number < -512 or if number > 511, DEC2BIN returns the #NUM! error value. If number is nonnumeric, DEC2BIN returns the #VALUE! error value. If DEC2BIN requires more than places characters, it returns the #NUM! error value.

#### $places

`integer`

The number of characters to use. If places is omitted, DEC2BIN uses the minimum number of characters necessary. Places is useful for padding the return value with leading 0s (zeros). If places is not an integer, it is truncated. If places is nonnumeric, DEC2BIN returns the #VALUE! error value. If places is zero or negative, DEC2BIN returns the #NUM! error value.

### Returns

`string`

## DECTOHEX

    DECTOHEX(string $x, integer $places) : string

Static

Return a decimal value as hex.

Excel Function: DEC2HEX(x[,places])

access | public
category | Engineering Functions

### Parameters

#### $x

`string`

The decimal integer you want to convert. If number is negative, places is ignored and DEC2HEX returns a 10-character (40-bit) hexadecimal number in which the most significant bit is the sign bit. The remaining 39 bits are magnitude bits. Negative numbers are represented using two's-complement notation. If number < -549,755,813,888 or if number > 549,755,813,887, DEC2HEX returns the #NUM! error value. If number is nonnumeric, DEC2HEX returns the #VALUE! error value. If DEC2HEX requires more than places characters, it returns the #NUM! error value.

#### $places

`integer`

The number of characters to use. If places is omitted, DEC2HEX uses the minimum number of characters necessary. Places is useful for padding the return value with leading 0s (zeros). If places is not an integer, it is truncated. If places is nonnumeric, DEC2HEX returns the #VALUE! error value. If places is zero or negative, DEC2HEX returns the #NUM! error value.

### Returns

`string`

## DECTOOCT

    DECTOOCT(string $x, integer $places) : string

Static

Return an decimal value as octal.

Excel Function: DEC2OCT(x[,places])

access | public
category | Engineering Functions

### Parameters

#### $x

`string`

The decimal integer you want to convert. If number is negative, places is ignored and DEC2OCT returns a 10-character (30-bit) octal number in which the most significant bit is the sign bit. The remaining 29 bits are magnitude bits. Negative numbers are represented using two's-complement notation. If number < -536,870,912 or if number > 536,870,911, DEC2OCT returns the #NUM! error value. If number is nonnumeric, DEC2OCT returns the #VALUE! error value. If DEC2OCT requires more than places characters, it returns the #NUM! error value.

#### $places

`integer`

The number of characters to use. If places is omitted, DEC2OCT uses the minimum number of characters necessary. Places is useful for padding the return value with leading 0s (zeros). If places is not an integer, it is truncated. If places is nonnumeric, DEC2OCT returns the #VALUE! error value. If places is zero or negative, DEC2OCT returns the #NUM! error value.

### Returns

`string`

## DELTA

    DELTA(float $a, float $b) : int

Static

Tests whether two values are equal. Returns 1 if number1 = number2; returns 0 otherwise. Use this function to filter a set of values. For example, by summing several DELTA functions you calculate the count of equal pairs. This function is also known as the Kronecker Delta function.

Excel Function: DELTA(a[,b])

### Parameters

#### $a

`float`

The first number.

#### $b

`float`

The second number. If omitted, b is assumed to be zero.

### Returns

`int`

## ERF

    ERF(float $lower, float $upper) : float

Static

Returns the error function integrated between the lower and upper bound arguments.

Note: In Excel 2007 or earlier, if you input a negative value for the upper or lower bound arguments, the function would return a #NUM! error. However, in Excel 2010, the function algorithm was improved, so that it can now calculate the function for both positive and negative ranges. PHPExcel follows Excel 2010 behaviour, and accepts nagative arguments.

Excel Function: ERF(lower[,upper])

### Parameters

#### $lower

`float`

lower bound for integrating ERF

#### $upper

`float`

upper bound for integrating ERF. If omitted, ERF integrates between zero and lower_limit

### Returns

`float`

## ERFC

    ERFC(float $x) : float

Static

Returns the complementary ERF function integrated between x and infinity

Note: In Excel 2007 or earlier, if you input a negative value for the lower bound argument, the function would return a #NUM! error. However, in Excel 2010, the function algorithm was improved, so that it can now calculate the function for both positive and negative x values. PHPExcel follows Excel 2010 behaviour, and accepts nagative arguments.

Excel Function: ERFC(x)

### Parameters

#### $x

`float`

The lower bound for integrating ERFC

### Returns

`float`

## GESTEP

    GESTEP(float $number, float $step) : int

Static

Excel Function: GESTEP(number[,step])

Returns 1 if number >= step; returns 0 (zero) otherwise Use this function to filter a set of values. For example, by summing several GESTEP functions you calculate the count of values that exceed a threshold.

### Parameters

#### $number

`float`

The value to test against step.

#### $step

`float`

The threshold value. If you omit a value for step, GESTEP uses zero.

### Returns

`int`

## HEXTOBIN

    HEXTOBIN(string $x, integer $places) : string

Static

Return a hex value as binary.

Excel Function: HEX2BIN(x[,places])

access | public
category | Engineering Functions

### Parameters

#### $x

`string`

the hexadecimal number you want to convert. Number cannot contain more than 10 characters. The most significant bit of number is the sign bit (40th bit from the right). The remaining 9 bits are magnitude bits. Negative numbers are represented using two's-complement notation. If number is negative, HEX2BIN ignores places and returns a 10-character binary number. If number is negative, it cannot be less than FFFFFFFE00, and if number is positive, it cannot be greater than 1FF. If number is not a valid hexadecimal number, HEX2BIN returns the #NUM! error value. If HEX2BIN requires more than places characters, it returns the #NUM! error value.

#### $places

`integer`

The number of characters to use. If places is omitted, HEX2BIN uses the minimum number of characters necessary. Places is useful for padding the return value with leading 0s (zeros). If places is not an integer, it is truncated. If places is nonnumeric, HEX2BIN returns the #VALUE! error value. If places is negative, HEX2BIN returns the #NUM! error value.

### Returns

`string`

## HEXTODEC

    HEXTODEC(string $x) : string

Static

Return a hex value as decimal.

Excel Function: HEX2DEC(x)

access | public
category | Engineering Functions

### Parameters

#### $x

`string`

The hexadecimal number you want to convert. This number cannot contain more than 10 characters (40 bits). The most significant bit of number is the sign bit. The remaining 39 bits are magnitude bits. Negative numbers are represented using two's-complement notation. If number is not a valid hexadecimal number, HEX2DEC returns the #NUM! error value.

### Returns

`string`

## HEXTOOCT

    HEXTOOCT(string $x, integer $places) : string

Static

Return a hex value as octal.

Excel Function: HEX2OCT(x[,places])

access | public
category | Engineering Functions

### Parameters

#### $x

`string`

The hexadecimal number you want to convert. Number cannot contain more than 10 characters. The most significant bit of number is the sign bit. The remaining 39 bits are magnitude bits. Negative numbers are represented using two's-complement notation. If number is negative, HEX2OCT ignores places and returns a 10-character octal number. If number is negative, it cannot be less than FFE0000000, and if number is positive, it cannot be greater than 1FFFFFFF. If number is not a valid hexadecimal number, HEX2OCT returns the #NUM! error value. If HEX2OCT requires more than places characters, it returns the #NUM! error value.

#### $places

`integer`

The number of characters to use. If places is omitted, HEX2OCT uses the minimum number of characters necessary. Places is useful for padding the return value with leading 0s (zeros). If places is not an integer, it is truncated. If places is nonnumeric, HEX2OCT returns the #VALUE! error value. If places is negative, HEX2OCT returns the #NUM! error value.

### Returns

`string`

## IMABS

    IMABS(string $complexNumber) : float

Static

Returns the absolute value (modulus) of a complex number in x + yi or x + yj text format.

Excel Function: IMABS(complexNumber)

### Parameters

#### $complexNumber

`string`

The complex number for which you want the absolute value.

### Returns

`float`

## IMAGINARY

    IMAGINARY(string $complexNumber) : float

Static

Returns the imaginary coefficient of a complex number in x + yi or x + yj text format.

Excel Function: IMAGINARY(complexNumber)

access | public
category | Engineering Functions

### Parameters

#### $complexNumber

`string`

The complex number for which you want the imaginary coefficient.

### Returns

`float`

## IMARGUMENT

    IMARGUMENT(string $complexNumber) : float

Static

Returns the argument theta of a complex number, i.e. the angle in radians from the real axis to the representation of the number in polar coordinates.

Excel Function: IMARGUMENT(complexNumber)

### Parameters

#### $complexNumber

`string`

The complex number for which you want the argument theta.

### Returns

`float`

## IMCONJUGATE

    IMCONJUGATE(string $complexNumber) : string

Static

Returns the complex conjugate of a complex number in x + yi or x + yj text format.

Excel Function: IMCONJUGATE(complexNumber)

### Parameters

#### $complexNumber

`string`

The complex number for which you want the conjugate.

### Returns

`string`

## IMCOS

    IMCOS(string $complexNumber) : string | float

Static

Returns the cosine of a complex number in x + yi or x + yj text format.

Excel Function: IMCOS(complexNumber)

### Parameters

#### $complexNumber

`string`

The complex number for which you want the cosine.

### Returns

`string` `float`

## IMDIV

    IMDIV(string $complexDividend, string $complexDivisor) : string

Static

Returns the quotient of two complex numbers in x + yi or x + yj text format.

Excel Function: IMDIV(complexDividend,complexDivisor)

### Parameters

#### $complexDividend

`string`

The complex numerator or dividend.

#### $complexDivisor

`string`

The complex denominator or divisor.

### Returns

`string`

## IMEXP

    IMEXP(string $complexNumber) : string

Static

Returns the exponential of a complex number in x + yi or x + yj text format.

Excel Function: IMEXP(complexNumber)

### Parameters

#### $complexNumber

`string`

The complex number for which you want the exponential.

### Returns

`string`

## IMLN

    IMLN(string $complexNumber) : string

Static

Returns the natural logarithm of a complex number in x + yi or x + yj text format.

Excel Function: IMLN(complexNumber)

### Parameters

#### $complexNumber

`string`

The complex number for which you want the natural logarithm.

### Returns

`string`

## IMLOG10

    IMLOG10(string $complexNumber) : string

Static

Returns the common logarithm (base 10) of a complex number in x + yi or x + yj text format.

Excel Function: IMLOG10(complexNumber)

### Parameters

#### $complexNumber

`string`

The complex number for which you want the common logarithm.

### Returns

`string`

## IMLOG2

    IMLOG2(string $complexNumber) : string

Static

Returns the base-2 logarithm of a complex number in x + yi or x + yj text format.

Excel Function: IMLOG2(complexNumber)

### Parameters

#### $complexNumber

`string`

The complex number for which you want the base-2 logarithm.

### Returns

`string`

## IMPOWER

    IMPOWER(string $complexNumber, float $realNumber) : string

Static

Returns a complex number in x + yi or x + yj text format raised to a power.

Excel Function: IMPOWER(complexNumber,realNumber)

### Parameters

#### $complexNumber

`string`

The complex number you want to raise to a power.

#### $realNumber

`float`

The power to which you want to raise the complex number.

### Returns

`string`

## IMPRODUCT

    IMPRODUCT() : string

Static

Returns the product of two or more complex numbers in x + yi or x + yj text format.

Excel Function: IMPRODUCT(complexNumber[,complexNumber[,...]])

### Returns

`string`

## IMREAL

    IMREAL(string $complexNumber) : float

Static

Returns the real coefficient of a complex number in x + yi or x + yj text format.

Excel Function: IMREAL(complexNumber)

access | public
category | Engineering Functions

### Parameters

#### $complexNumber

`string`

The complex number for which you want the real coefficient.

### Returns

`float`

## IMSIN

    IMSIN(string $complexNumber) : string | float

Static

Returns the sine of a complex number in x + yi or x + yj text format.

Excel Function: IMSIN(complexNumber)

### Parameters

#### $complexNumber

`string`

The complex number for which you want the sine.

### Returns

`string` `float`

## IMSQRT

    IMSQRT(string $complexNumber) : string

Static

Returns the square root of a complex number in x + yi or x + yj text format.

Excel Function: IMSQRT(complexNumber)

### Parameters

#### $complexNumber

`string`

The complex number for which you want the square root.

### Returns

`string`

## IMSUB

    IMSUB(string $complexNumber1, string $complexNumber2) : string

Static

Returns the difference of two complex numbers in x + yi or x + yj text format.

Excel Function: IMSUB(complexNumber1,complexNumber2)

### Parameters

#### $complexNumber1

`string`

The complex number from which to subtract complexNumber2.

#### $complexNumber2

`string`

The complex number to subtract from complexNumber1.

### Returns

`string`

## IMSUM

    IMSUM() : string

Static

Returns the sum of two or more complex numbers in x + yi or x + yj text format.

Excel Function: IMSUM(complexNumber[,complexNumber[,...]])

### Returns

`string`

## OCTTOBIN

    OCTTOBIN(string $x, integer $places) : string

Static

Return an octal value as binary.

Excel Function: OCT2BIN(x[,places])

access | public
category | Engineering Functions

### Parameters

#### $x

`string`

The octal number you want to convert. Number may not contain more than 10 characters. The most significant bit of number is the sign bit. The remaining 29 bits are magnitude bits. Negative numbers are represented using two's-complement notation. If number is negative, OCT2BIN ignores places and returns a 10-character binary number. If number is negative, it cannot be less than 7777777000, and if number is positive, it cannot be greater than 777. If number is not a valid octal number, OCT2BIN returns the #NUM! error value. If OCT2BIN requires more than places characters, it returns the #NUM! error value.

#### $places

`integer`

The number of characters to use. If places is omitted, OCT2BIN uses the minimum number of characters necessary. Places is useful for padding the return value with leading 0s (zeros). If places is not an integer, it is truncated. If places is nonnumeric, OCT2BIN returns the #VALUE! error value. If places is negative, OCT2BIN returns the #NUM! error value.

### Returns

`string`

## OCTTODEC

    OCTTODEC(string $x) : string

Static

Return an octal value as decimal.

Excel Function: OCT2DEC(x)

access | public
category | Engineering Functions

### Parameters

#### $x

`string`

The octal number you want to convert. Number may not contain more than 10 octal characters (30 bits). The most significant bit of number is the sign bit. The remaining 29 bits are magnitude bits. Negative numbers are represented using two's-complement notation. If number is not a valid octal number, OCT2DEC returns the #NUM! error value.

### Returns

`string`

## OCTTOHEX

    OCTTOHEX(string $x, integer $places) : string

Static

Return an octal value as hex.

Excel Function: OCT2HEX(x[,places])

access | public
category | Engineering Functions

### Parameters

#### $x

`string`

The octal number you want to convert. Number may not contain more than 10 octal characters (30 bits). The most significant bit of number is the sign bit. The remaining 29 bits are magnitude bits. Negative numbers are represented using two's-complement notation. If number is negative, OCT2HEX ignores places and returns a 10-character hexadecimal number. If number is not a valid octal number, OCT2HEX returns the #NUM! error value. If OCT2HEX requires more than places characters, it returns the #NUM! error value.

#### $places

`integer`

The number of characters to use. If places is omitted, OCT2HEX uses the minimum number of characters necessary. Places is useful for padding the return value with leading 0s (zeros). If places is not an integer, it is truncated. If places is nonnumeric, OCT2HEX returns the #VALUE! error value. If places is negative, OCT2HEX returns the #NUM! error value.

### Returns

`string`

## _erfVal()

    _erfVal($x)

Static

### Parameters

#### $x

## _parseComplex

    _parseComplex(string $complexNumber) : string[]

Static

Parses a complex number into its real and imaginary parts, and an I or J suffix

### Parameters

#### $complexNumber

`string`

The complex number

### Returns

`string[]`Indexed on "real", "imaginary" and "suffix"

## getConversionGroupUnitDetails

    getConversionGroupUnitDetails(string $group) : array

Static

### Parameters

#### $group

`string`

The group whose units of measure you want to retrieve

### Returns

`array`

## getConversionGroupUnits Returns an array of units of measure, for a specified conversion group, or for all groups

    getConversionGroupUnits(string $group) : array

Static

### Parameters

#### $group

`string`

The group whose units of measure you want to retrieve

### Returns

`array`

## getConversionGroups Returns a list of the different conversion groups for UOM conversions

    getConversionGroups() : array

Static

### Returns

`array`

## getConversionMultipliers Returns an array of the Multiplier prefixes that can be used with Units of Measure in CONVERTUOM()

    getConversionMultipliers() : array

Static

### Returns

`array`of mixed

## _Besselk0()

    _Besselk0($fNum)

Static

### Parameters

#### $fNum

## _Besselk1()

    _Besselk1($fNum)

Static

### Parameters

#### $fNum

## _Bessely0()

    _Bessely0($fNum)

Static

### Parameters

#### $fNum

## _Bessely1()

    _Bessely1($fNum)

Static

### Parameters

#### $fNum

## Cleans the leading characters in a complex number string

    _cleanComplex(string $complexNumber) : string

Static

### Parameters

#### $complexNumber

`string`

The complex number to clean

### Returns

`string`The "cleaned" complex number

## _erfcVal()

    _erfcVal($x)

Static

### Parameters

#### $x

## Formats a number base string value with leading zeroes

    _nbrConversionFormat(string $xVal, integer $places) : string

Static

### Parameters

#### $xVal

`string`

The "number" to pad

#### $places

`integer`

The length that we want to pad this value

### Returns

`string`The padded "number"

### Properties

##

    $_conversionMultipliers : mixed[]

##

    $_conversionUnits : mixed[]

##

    $_one_sqrtpi

##

    $_two_sqrtpi

##

    $_unitConversions : mixed[]