numpy.polynomial.legendre.legint

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

整合一个勒让德系列。

返回勒让德级数系数 c 集成的 m 时代从 lbnd 沿着 axis . 在每次迭代中,结果序列是 倍增的 通过 scl 积分常数, k ,添加。比例因子用于变量的线性变化。(买方注意:请注意,根据所做的,可能需要 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 .

参数
carray_like

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

m可选的

整合的顺序,必须是积极的。(默认值:1)

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

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

lbnd标量,可选

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

scl标量,可选

每次集成后,结果是 倍增的 通过 scl 在添加积分常数之前。(默认值:1)

axis可选的

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

1.7.0 新版功能.

返回
S恩达雷

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

加薪
ValueError

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

参见

legder

笔记

注意,每个集成的结果是 倍增的 通过 scl . 为什么要注意这一点?假设一个人正在做变量的线性变化 u = ax + b 在积分中相对于 x . 然后 dx = du/a ,因此需要设置 scl 等于 1/a -也许这不是人们首先想到的。

还请注意,通常,集成C系列的结果需要“重新投影”到C系列基集上。因此,通常情况下,此函数的结果是“非指导性的”,尽管是正确的;请参见下面的示例部分。

实例

>>> 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