Vendor/phpspreadsheet/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering.php
public static function BESSELK($x, $ord)
    {
        $x = ($x === null) ? 0.0 : Functions::flattenSingleValue($x);
        $ord = ($ord === null) ? 0.0 : Functions::flattenSingleValue($ord);

        if ((is_numeric($x)) && (is_numeric($ord))) {
            if (($ord < 0) || ($x == 0.0)) {
                return Functions::NAN();
            }

            switch (floor($ord)) {
                case 0:
                    $fBk = self::besselK0($x);

                    break;
                case 1:
                    $fBk = self::besselK1($x);

                    break;
                default:
                    $fTox = 2 / $x;
                    $fBkm = self::besselK0($x);
                    $fBk = self::besselK1($x);
                    for ($n = 1; $n < $ord; ++$n) {
                        $fBkp = $fBkm + $n * $fTox * $fBk;
                        $fBkm = $fBk;
                        $fBk = $fBkp;
                    }
            }

            return (is_nan($fBk)) ? Functions::NAN() : $fBk;
        }

        return Functions::VALUE();
    }
public static function BESSELK($x, $ord)
    {
        $x = ($x === null) ? 0.0 : Functions::flattenSingleValue($x);
        $ord = ($ord === null) ? 0.0 : Functions::flattenSingleValue($ord);

        if ((is_numeric($x)) && (is_numeric($ord))) {
            if (($ord < 0) || ($x == 0.0)) {
                return Functions::NAN();
            }

            switch (floor($ord)) {
                case 0:
                    $fBk = self::besselK0($x);

                    break;
                case 1:
                    $fBk = self::besselK1($x);

                    break;
                default:
                    $fTox = 2 / $x;
                    $fBkm = self::besselK0($x);
                    $fBk = self::besselK1($x);
                    for ($n = 1; $n < $ord; ++$n) {
                        $fBkp = $fBkm + $n * $fTox * $fBk;
                        $fBkm = $fBk;
                        $fBk = $fBkp;
                    }
            }

            return (is_nan($fBk)) ? Functions::NAN() : $fBk;
        }

        return Functions::VALUE();
    }
public static function BESSELK ( $ x , $ ord ) { $ x = ( $ x === null ) ? 0.0 : Functions :: flattenSingleValue ( $ x ) ; $ ord = ( $ ord === null ) ? 0.0 : Functions :: flattenSingleValue ( $ ord ) ; if ( ( is_numeric ( $ x ) ) && ( is_numeric ( $ ord ) ) ) { if ( ( $ ord < 0 ) || ( $ x == 0.0 ) ) { return Functions :: NAN ( ) ; } switch ( floor ( $ ord ) ) { case 0 : $ fBk = self :: besselK0 ( $ x ) ; break ; case 1 : $ fBk = self :: besselK1 ( $ x ) ; break ; default : $ fTox = 2 / $ x ; $ fBkm = self :: besselK0 ( $ x ) ; $ fBk = self :: besselK1 ( $ x ) ; for ( $ n = 1 ; $ n < $ ord ; ++ $ n ) { $ fBkp = $ fBkm + $ n * $ fTox * $ fBk ; $ fBkm = $ fBk ; $ fBk = $ fBkp ; } } return ( is_nan ( $ fBk ) ) ? Functions :: NAN ( ) : $ fBk ; } return Functions :: VALUE ( ) ; }
BESSELK.

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

Excel Function:
BESSELK(x,ord)

@category Engineering Functions

@param float $x The value at which to evaluate the function.
If x is nonnumeric, BESSELK returns the #VALUE! error value.
@param int $ord 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.

@return float
BESSELK .