# sphbessel_h (MathScript RT Module Function)

LabVIEW 2012 MathScript RT Module Help

Edition Date: June 2012

Part Number: 373123C-01

»View Product Info Download Help (Windows Only)

Requires: MathScript RT Module

## Syntax

sh = sphbessel_h(v, x)

sh = sphbessel_h(v, kind, x)

sh = sphbessel_h(v, kind, x, 1)

[sh, error] = sphbessel_h(v, x)

[sh, error] = sphbessel_h(v, kind, x)

[sh, error] = sphbessel_h(v, kind, x, 1)

Legacy Name: `sphbesselh`

## Description

Computes the spherical Bessel function of the third kind of a given order. sphbessel_h(v, x) is equivalent to sphbessel_h(v, 1, x) and corresponds to the Hankel function of the first kind. sphbessel_h(v, 2, x) corresponds to the Hankel function of the second kind.

Details

Examples

## Inputs

Name Description
v Specifies the order of the spherical Bessel function. v is a real, double-precision, floating-point positive scalar, vector, or matrix and must be integer-valued.
x Specifies the value for which you want to compute the spherical Bessel function. x is a real or complex, double-precision, floating-point scalar, vector, or matrix.
kind Specifies the type of the Hankel function. kind is an integer that accepts the following values.

 1 Computes the spherical Hankel function of the first kind. 2 Computes the spherical Hankel function of the second kind.
1 Scales the computation. sphbessel_h(v, 1, x, 1) scales sphbessel_h(v, 1, x) by exp(-i*x). sphbessel_h(v, 2, x, 1) scales sphbessel_h(v, 2, x) by exp(i*x).

## Outputs

Name Description
sh Returns the spherical Bessel function of the third kind. sh is a real or complex, double-precision, floating-point scalar, vector, or matrix.
error Returns error information about the evaluation of the spherical Bessel function. error is a matrix of integers in which each element can return the following values.

 0 Indicates no error occurred. 1 Indicates you specified invalid inputs. 2 Indicates the result is too large for the data type of sh. Use the scaling option 1. 3 Indicates LabVIEW achieved less than half the machine accuracy in the calculation because |x| or v is greater than approximately 1.3E8. 4 Indicates the result is meaningless because |x| or v is greater than approximately 1.8E16. 5 Indicates the calculation did not reach the termination condition and LabVIEW did not complete the calculation.

## Details

The spherical Bessel functions are defined as particular solutions to the following equation. This equation comes from solving the Helmholtz in spherical coordinates. When you solve the Helmholtz equation in spherical coordinates using the separation of variables, the radial differential equation becomes the following equation:

x2y'' + 2xy' + [x2 - n(n + 1)]y = 0     (n = 0, ±1, ±2, ...)

Particular solutions to this equation are known as the spherical Bessel functions of the first kind, j(v, x), and second kind, y(v, x). You can write the particular solutions to this equation as functions of the following ordinary Bessel functions:

j(v, x) = sqrt(x*pi / 2)*J(v + 1/2, x)
y(v, x) = sqrt(x*pi / 2)*Y(v + 1/2, x)

The following equations define the spherical Bessel functions of the third kind, which are also known as spherical Hankel functions:

h1(v, x) = j(v, x) + i*y(v, x)
h2(v, x) = j(v, x) - i*y(v, x)

If x is a scalar, LabVIEW sets x to a vector of the same size as v whose elements all equal the value you specify in x. If v is a scalar, LabVIEW sets v to a vector of the same size as x whose elements all equal the value you specify in v. If x and v are vectors of the same orientation, LabVIEW returns a vector of spherical Bessel functions for the corresponding input values. For example, if x equals [1, 2] and v equals [3, 4], LabVIEW returns [sphbessel_h(1, 3), sphbessel_h(2, 4)]. If x and v are vectors of opposite orientation, LabVIEW returns a matrix of spherical Bessel functions for each combination of input values. For example, if x equals [1, 2] and v = [3; 4], LabVIEW returns [sphbessel_h(1, 3), sphbessel_h(1, 4); sphbessel_h(2, 3), sphbessel_h(2, 4)].

The following table lists the support characteristics of this function.

 Supported in the LabVIEW Run-Time Engine Yes Supported on RT targets Yes Suitable for bounded execution times on RT Not characterized

## Examples

X = [0:0.01:5];
sh0 = sphbessel_h(0, 1, X);
sh1 = sphbessel_h(1, 1, X);
sh2 = sphbessel_h(2, 1, X);
plot(X, real(sh0), X, real(sh1), X, real(sh2));
axis([0, 5, -2, 2]);