首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::sph_legendre

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设置为零时,它将降为此函数。

二次

代码语言:javascript
复制
#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';
}

二次

产出:

二次

代码语言:javascript
复制
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)

代码语言:txt
复制
 ? cppreference.com

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

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com