在线文档教程
C++
数字 | Numerics

std::sph_legendrel

STD::sph[医]Legendre,STD::sph[医]传说,STD::sph[医]传奇

double sph_legendre ( unsigned l, unsigned m, double θ double sph_legendre ( unsigned l, unsigned m, float θ double sph_legendre ( unsigned l, unsigned m, long double θ float sph_legendref( unsigned l, unsigned m, float θ long double sph_legendrel( unsigned l, unsigned m, long double θ (1)(since C++17)
double sph_legendre ( unsigned l, unsigned m, Integral θ (2)(since C++17)

1%29计算度的球面相关勒让德函数l,秩序m,和极角θ...

2%29一组过载或接受任意参数的函数模板积分型将参数转换为double...

参数

l-degree
m-order
θ-polar angle, measured in radians

返回值

如果不发生错误,则返回球面相关勒让德函数%28的值,即球面调和,其值=0%29l,,,m,和θ,其中球面调和函数定义为ym

l%28θ,%29=%28-1%29m

[

%282 l+1%29%28 L-m%29%21

*。

4π%28L+m%29%21

]1/2

下午

L%28 cosθ%29 eim

下午何处

l%28x%29是std::assoc_legendre(l,m,x)%29,m≤l

注意,康顿-肖特利相项%28-1%2900万

在此定义中包含,因为它在pm的定义中被省略。

我在std::assoc_legendre...

错误处理

错误可以按数学[医]错误处理...

  • 如果参数为nan,则返回nan,并且不报告域错误。

  • 如果l≥128,则行为是实现定义的。

注记

不支持C++17但支持的实现ISO 29124:2010,则提供此功能__STDCPP_MATH_SPEC_FUNCS__由实现定义为值至少为201003L,且用户定义__STDCPP_WANT_MATH_SPEC_FUNCS__在包含任何标准库头之前。

不支持iso 29124:2010但支持tr 19768:2007%28TR1%29的实现,在标头中提供此功能。tr1/cmath和命名空间std::tr1...

球面调和函数的一个实现可以在中学里找到。,并且当参数Phi设置为零时,它将降为此函数。

二次

#include <cmath> #include <iostream> int main() { // spot check for l=3, m=0 double x = 1.2345; std::cout << "Y_3^0(" << x << ") = " << std::sph_legendre(3, 0, x) << '\n'; // exact solution double pi = std::acos(-1 std::cout << "exact solution = " << 0.25*std::sqrt(7/pi)*(5*std::pow(std::cos(x),3)-3*std::cos(x)) << '\n'; }

二次

产出:

二次

Y_3^0(1.2345) = -0.302387 exact solution = -0.302387

二次

外部链接

韦斯斯坦,埃里克W.“球面谐波”来自MathWorld的一个Wolfram Web资源。

另见

assoc_legendreassoc_legendrefassoc_legendrel (C++17)(C++17)(C++17)associated Legendre polynomials (function)

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/数值/专用[医]数学/sph[医]勒让德