当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy legendre.legint用法及代码示例


本文简要介绍 python 语言中 numpy.polynomial.legendre.legint 的用法。

用法:

polynomial.legendre.legint(c, m=1, k=[], lbnd=0, scl=1, axis=0)

整合勒让德系列。

返回勒让德级数系数c融合的m次从lbnd沿着.在每次迭代中,结果序列是倍增经过scl和一个积分常数,k, 被添加。比例因子用于变量的线性变化。 (“Buyer beware”:请注意,根据一个人在做什么,一个人可能想要scl成为人们可能期望的倒数;有关详细信息,请参阅下面的注释部分。)参数c是沿每个轴从低到高的系数数组,例如,[1,2,3] 表示系列L_0 + 2*L_1 + 3*L_2而 [[1,2],[1,2]] 表示1*L_0(x)*L_0(y) + 1*L_1(x)*L_0(y) + 2*L_0(x)*L_1(y) + 2*L_1(x)*L_1(y)如果轴 = 0 是x和轴= 1 是y.

参数

c array_like

勒让德级数系数数组。如果 c 是多维的,则不同的轴对应于不同的变量,每个轴的度数由相应的索引给出。

m 整数,可选

积分顺序,必须是正数。 (默认值:1)

k {[],列表,标量},可选

积分常数。 lbnd 处的第一个整数的值是列表中的第一个值,lbnd 处的第二个整数的值是第二个值,依此类推。如果 k == [](默认值),所有常量都设置为零.如果 m == 1 ,可以给出单个标量而不是列表。

lbnd 标量,可选

积分的下界。 (默认值:0)

scl 标量,可选

在每次积分之后,在添加积分常数之前,结果会乘以 scl。 (默认值:1)

axis 整数,可选

进行积分的轴。 (默认值:0)。

返回

S ndarray

勒让德级数系数数组的积分。

抛出

ValueError

如果 m < 0len(k) > mnp.ndim(lbnd) != 0np.ndim(scl) != 0

注意

请注意,每次积分的结果是倍增经过scl.为什么要注意这一点?假设正在对变量进行线性变化\(u = ax + b\) 在一个积分相对于x.然后\(dx = du/a\) ,所以需要设置scl等于\(1/a\) - 也许不是人们首先想到的。

另请注意,一般情况下,将C-series 积分的结果需要是“reprojected” 到C-series 基组上。因此,通常,此函数的结果是“unintuitive,”,尽管它是正确的;请参阅下面的示例部分。

例子

>>> from numpy.polynomial import legendre as L
>>> c = (1,2,3)
>>> L.legint(c)
array([ 0.33333333,  0.4       ,  0.66666667,  0.6       ]) # may vary
>>> L.legint(c, 3)
array([  1.66666667e-02,  -1.78571429e-02,   4.76190476e-02, # may vary
         -1.73472348e-18,   1.90476190e-02,   9.52380952e-03])
>>> L.legint(c, k=3)
 array([ 3.33333333,  0.4       ,  0.66666667,  0.6       ]) # may vary
>>> L.legint(c, lbnd=-2)
array([ 7.33333333,  0.4       ,  0.66666667,  0.6       ]) # may vary
>>> L.legint(c, scl=2)
array([ 0.66666667,  0.8       ,  1.33333333,  1.2       ]) # may vary

相关用法


注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.polynomial.legendre.legint。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。