# std::sph_neumann, std::sph_neumannf, std::sph_neumannl

< cpp‎ | numeric‎ | special functions

定义于头文件 `<cmath>` |  |
double sph_neumann ( unsigned n, double x ); float sph_neumann ( unsigned n, float x ); long double sph_neumann ( unsigned n, long double x ); float sph_neumannf( unsigned n, float x ); long double sph_neumannl( unsigned n, long double x ); | (1) | (C++17 起)
double sph_neumann( unsigned n, IntegralType x ); | (2) | (C++17 起)

1) 计算 `n` 和 `x` 的第二类球贝塞尔函数，又称球诺依曼函数。
2) 接受任意整数类型参数的重载集或函数模板。等价于将参数转型到 double 后的 (1) 。

### 参数

n | - | 函数的阶数
x | - | 函数的参数

### 返回值

若无错误发生，则返回 `n` 和 `x` 的第二类球贝塞尔函数（球诺依曼函数），即 n
n(x) = (π/2x)1/2
N
n+1/2(x) ，其中 N
n(x) 为 std::cyl_neumann(n,x) 且 x≥0

### 错误处理

可能报告 `math_errhandling` 中指定的错误

- 若参数是 NaN ，则返回 NaN 且不报告定义域错误
- 若 n>=128 ，则行为是实现定义的

### 注解

不支持 C++17 ，但支持 ISO 29124:2010 的实现会提供此函数，若实现定义了 `__STDCPP_MATH_SPEC_FUNCS__` 为至少 201003L 的值，且用户在包含任何标准库头文件前定义了 `__STDCPP_WANT_MATH_SPEC_FUNCS__` 。

不支持 ISO 29124:2010 但支持 TR 19768:2007 (TR1) 的实现，在头文件 `tr1/cmath` 及命名空间 `std::tr1` 中提供此函数。

此函数的一种实现亦可用于 boost.math

### 示例

    #include <cmath>
    #include <iostream>
    int main()
    {
        // 对 n == 1 的点检查
        double x = 1.2345;
        std::cout << "n_1(" << x << ") = " << std::sph_neumann(1, x) << '\n';

        // 对 n_1 的准确解
        std::cout << "-(cos x)/x^2 - (sin x)/x = "
                  << -std::cos(x)/(x*x) - std::sin(x)/x << '\n';
    }

输出：

    n_1(1.2345) = -0.981201
    -(cos x)/x^2 - (sin x)/x = -0.981201

### 外部链接

Weisstein, Eric W. “第二类球贝塞尔函数”来自 MathWorld--A Wolfram Web Resource 。

### 参阅

cyl_neumann cyl_neumannf cyl_neumannl (C++17)(C++17)(C++17) | 圆柱诺依曼函数 (函数)
sph_bessel sph_besself sph_bessell (C++17)(C++17)(C++17) | （第一类）球面贝塞尔函数 (函数)