Engineering calculations involving wave propagation through optical fibres, heat diffusion within cylindrical rods, electromagnetic radar reflections, and acoustic membrane vibrations frequently require solving Bessel’s differential equation. Google Sheets provides four dedicated mathematical functions—BESSELI, BESSELJ, BESSELK, and BESSELY—to compute modified and non-modified Bessel functions of integer orders directly inside spreadsheets.
Understanding Bessel Function Classes
Bessel functions represent the canonical solutions to Laplace’s equation and Helmholtz’s equation in cylindrical coordinate systems. Google Sheets groups these solutions into four distinct engineering formulas:
- BESSELJ (First Kind, Non-Modified): Computes $J_n(x)$, describing oscillating wave solutions that remain finite at the cylindrical origin ($x = 0$). Common in acoustic vibrations and frequency-modulated (FM) radio spectrum analysis.
- BESSELY (Second Kind, Weber Function): Computes $Y_n(x)$, oscillating wave solutions that tend toward negative infinity as $x$ approaches zero. Essential for annular wave boundary problems.
- BESSELI (First Kind, Modified): Computes $I_n(x)$, describing purely exponential growth solutions without oscillation. Used in heat dissipation along cylindrical cooling fins.
- BESSELK (Second Kind, Modified): Computes $K_n(x)$, describing exponential decay solutions. Essential for skin-effect depth analysis in electrical conductors.
Syntax and Parameters
1. BESSELJ Function
=BESSELJ(x, n)
x(Required): The value at which to evaluate the function.n(Required): The integer order of the Bessel function ($n ge 0$). Non-integers are truncated.
2. BESSELY Function
=BESSELY(x, n)
x(Required): Must be strictly positive ($x > 0$).n(Required): The integer order ($n ge 0$).
3. BESSELI Function
=BESSELI(x, n)
x(Required): The value at which to evaluate the function.n(Required): The integer order ($n ge 0$).
4. BESSELK Function
=BESSELK(x, n)
x(Required): Must be strictly positive ($x > 0$).n(Required): The integer order ($n ge 0$).
Step-by-Step Practical Implementation
Step 1: Calculating Oscillating Bessel Values with BESSELJ
- Open Google Sheets and enter evaluation point
2.5into cellA2. - In cell
B2, calculate the zero-order solution $J_0(2.5)$:=BESSELJ(A2, 0) - Press Enter. Google Sheets returns
-0.04838.
Step 2: Evaluating Modified Growing Solutions with BESSELI
- In cell
C2, evaluate the first-order modified function $I_1(2.5)$:=BESSELI(A2, 1) - Press Enter. The formula returns
2.51672, demonstrating exponential expansion.
Step 3: Evaluating Decaying Solutions with BESSELK
- In cell
D2, evaluate the zero-order modified decay function $K_0(2.5)$:=BESSELK(A2, 0) - Press Enter. The output evaluates to
0.06235.
Comparison of Google Sheets Bessel Functions
| Function | Mathematical Notation | Type | Valid Domain for x | Behaviour as x → ∞ | Engineering Domain |
|---|---|---|---|---|---|
BESSELJ |
$J_n(x)$ | Ordinary (1st Kind) | All real numbers | Damped sinusoidal oscillation | Circular waveguide modes and FM spectrum sidebands |
BESSELY |
$Y_n(x)$ | Ordinary (2nd Kind) | $x > 0$ | Damped sinusoidal oscillation | Acoustic resonances in concentric cylindrical shells |
BESSELI |
$I_n(x)$ | Modified (1st Kind) | All real numbers | Exponential growth | Heat transfer along longitudinal cylindrical cooling fins |
BESSELK |
$K_n(x)$ | Modified (2nd Kind) | $x > 0$ | Exponential decay toward zero | Current density skin effect in AC coaxial cables |
Troubleshooting Common Errors
- #NUM! Error in BESSELY and BESSELK: Occurs when $x le 0$. Both second-kind functions are undefined at or below zero.
- Negative Orders: If $n < 0$, all four functions return
#NUM!. Ensure the order parameter is non-negative. - Large Arguments Overflow: Evaluating
BESSELIwith large $x$ values (e.g. $x > 700$) will exceed standard IEEE 754 floating-point limits and return an overflow error.