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

std::legendre

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

二次

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

二次

产出:

二次

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

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

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

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com