bessel: j0, j1, jn , y0, y1或 yn 子例程

用途

计算贝塞尔函数。

IEEE Math Library (libm.a)
or System V Math Library (libmsaa.a)

语法

#include <math.h>
double j0 (x)
double  x;
double j1 (x)
double x;
double jn (n, x)
int  n;
double x;
double y0 (x)
double x;
double y1 (x)
double x;
double yn (n, x)
int n;
double x;

描述

贝塞尔函数用于计算波变量,主要是在通信领域。

j0 子例程和 j1 子例程分别返回第一种类型的 x 的 Bessel 函数 0 和 1。 jn 子例程返回第一类顺序 nx 的 Bessel 函数。

y0 子例程和 y1 子例程分别返回阶数 0 和 1 的第二类 x 的 Bessel 函数。 yn 子例程返回第二种顺序 nx 的 Bessel 函数。 x 的值必须为正数。

注: 编译使用 libm.a 库中带有 -lm 标志的子例程的任何例程。 要编译 j0.c 文件,例如:
cc j0.c -lm

参数

描述
X 指定一些双精度浮点值。
n 指定某个整数值。

返回值

使用 libm.a (-lm) 时,如果 x 为负数,那么 y0 y1yn 将返回值 NaNQ。 如果 x 为 0 ,那么 y0 y1yn 返回值 -HUGE_VAL

使用 libmsaa.a (-lmsaa) 时,量级过大的值会导致函数 j0j1y0y1 返回 0 并将 errno 全局变量设置为 ERANGE。 此外,在标准错误输出上打印一条指示 TLOSS 错误的消息。

非正值导致 y0 y1, 和 yn 以返回值 -HUGE 并将 errno 全局变量设置为 EDOM。 此外,在标准错误输出上打印一条指示参数 DOMAIN 错误的消息。

当使用 libmsaa.a (-lmsaa) 时,可以使用 matherr 子例程来更改这些错误处理过程。