PHPExcel_Calculation_Engineering

category PHPExcel PHPExcel_Calculation Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)

## 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 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.

`float`

## BESSELJ

`BESSELJ(float \$x, integer \$ord) : float`
Static

Returns the Bessel function

Excel Function: BESSELJ(x,ord)

access public 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.

`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 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.

`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 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.

`float`

## BINTODEC

`BINTODEC(string \$x) : string`
Static

Return a binary value as decimal.

Excel Function: BIN2DEC(x)

access public 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.

`string`

## BINTOHEX

`BINTOHEX(string \$x, integer \$places) : string`
Static

Return a binary value as hex.

Excel Function: BIN2HEX(x[,places])

access public 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.

`string`

## BINTOOCT

`BINTOOCT(string \$x, integer \$places) : string`
Static

Return a binary value as octal.

Excel Function: BIN2OCT(x[,places])

access public 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.

`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 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".

`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.

`float`

## DECTOBIN

`DECTOBIN(string \$x, integer \$places) : string`
Static

Return a decimal value as binary.

Excel Function: DEC2BIN(x[,places])

access public 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.

`string`

## DECTOHEX

`DECTOHEX(string \$x, integer \$places) : string`
Static

Return a decimal value as hex.

Excel Function: DEC2HEX(x[,places])

access public 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.

`string`

## DECTOOCT

`DECTOOCT(string \$x, integer \$places) : string`
Static

Return an decimal value as octal.

Excel Function: DEC2OCT(x[,places])

access public 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.

`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.

`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

`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

`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.

`int`

## HEXTOBIN

`HEXTOBIN(string \$x, integer \$places) : string`
Static

Return a hex value as binary.

Excel Function: HEX2BIN(x[,places])

access public 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.

`string`

## HEXTODEC

`HEXTODEC(string \$x) : string`
Static

Return a hex value as decimal.

Excel Function: HEX2DEC(x)

access public 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.

`string`

## HEXTOOCT

`HEXTOOCT(string \$x, integer \$places) : string`
Static

Return a hex value as octal.

Excel Function: HEX2OCT(x[,places])

access public 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.

`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.

`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 Engineering Functions

### Parameters

#### \$complexNumber

`string`

The complex number for which you want the imaginary coefficient.

`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.

`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.

`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.

`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.

`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.

`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.

`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.

`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.

`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[,...]])

`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 Engineering Functions

### Parameters

#### \$complexNumber

`string`

The complex number for which you want the real coefficient.

`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.

`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.

`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[,...]])

`string`

## OCTTOBIN

`OCTTOBIN(string \$x, integer \$places) : string`
Static

Return an octal value as binary.

Excel Function: OCT2BIN(x[,places])

access public 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.

`string`

## OCTTODEC

`OCTTODEC(string \$x) : string`
Static

Return an octal value as decimal.

Excel Function: OCT2DEC(x)

access public 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.

`string`

## OCTTOHEX

`OCTTOHEX(string \$x, integer \$places) : string`
Static

Return an octal value as hex.

Excel Function: OCT2HEX(x[,places])

access public 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.

`string`

## _erfVal()

`_erfVal(\$x) `
Static

## _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

`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

`array`

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

`getConversionGroups() : array`
Static

`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

## _Besselk1()

`_Besselk1(\$fNum) `
Static

## _Bessely0()

`_Bessely0(\$fNum) `
Static

## _Bessely1()

`_Bessely1(\$fNum) `
Static

## 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

## 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[]`