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

std::legendre

STD::Legendre,STD::Legendre,STD::Legendrel

double legendre( unsigned int n, double x double legendre( unsigned int n, float x double legendre( unsigned int n, long double x float legendref( unsigned int n, float x long double legendrel( unsigned int n, long double x (1)(since C++17)
double legendre( unsigned int n, Integral x (2)(since C++17)

1%29计算未关联的Legendre多项式程度n和争论x

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

参数

n-the degree of the polynomial
x-the argument, a value of a floating-point or integral type

返回值

如果没有出现错误,则命令的值-n无关联勒让德多项式x,那就是

*。

2nn%21

DN

*。

dxn

%28x2

-1%29 N

,被归还。

错误处理

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

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

  • 对于x>1,不需要定义函数。

  • 如果n大于或等于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...

此功能的实现也是可以在中学里找到。...

前几个Legendre多项式是:

  • Legendre%280,x%29=1

  • Legendre%281,x%29=x

  • Legendre%282,x%29=1 2%283 x2

-1%29

  • Legendre%283,x%29=1 2%285 x3 -3x%29

  • Legendre%284,x%29=1 8%2835x4

-30x2

+3%29

二次

#include <cmath> #include <iostream> double P3(double x) { return 0.5*(5*std::pow(x,3) - 3*x } double P4(double x) { return 0.125*(35*std::pow(x,4)-30*x*x+3 } int main() { // spot-checks std::cout << std::legendre(3, 0.25) << '=' << P3(0.25) << '\n' << std::legendre(4, 0.25) << '=' << P4(0.25) << '\n'; }

二次

产出:

二次

-0.335938=-0.335938 0.157715=0.157715

二次

另见

laguerrelaguerreflaguerrel (C++17)(C++17)(C++17)Laguerre polynomials (function)
hermitehermitefhermitel (C++17)(C++17)(C++17)Hermite polynomials (function)

外部链接

韦斯泰因,埃里克W.“勒让德多项式”来自MathWorld的一个Wolfram Web资源。

© cppreference.com

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

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