numpy.polynomial.chebyshev.chebint#

polynomial.chebyshev.chebint(c, m=1, k=[], lbnd=0, scl=1, axis=0)[原始碼]#

積分切比雪夫級數。

傳回從 lbnd 沿著 axis 積分 m 次的切比雪夫級數係數 c。在每次迭代中,結果級數會乘上 scl,並加入積分常數 k。縮放因子用於變數的線性變換。(「買家請注意」:請注意,根據一個人的操作,人們可能希望 scl 是人們可能預期的倒數;如需更多資訊,請參閱下方的「注意事項」章節。)引數 c 是沿著每個軸從低到高次數的係數陣列,例如 [1,2,3] 代表級數 T_0 + 2*T_1 + 3*T_2,而 [[1,2],[1,2]] 代表 1*T_0(x)*T_0(y) + 1*T_1(x)*T_0(y) + 2*T_0(x)*T_1(y) + 2*T_1(x)*T_1(y),如果 axis=0 是 x 且 axis=1 是 y

參數:
carray_like

切比雪夫級數係數的陣列。如果 c 是多維的,則不同的軸對應於不同的變數,每個軸的次數由對應的索引給定。

mint,選用

積分的階數,必須為正數。(預設值:1)

k{[], list, scalar},選用

積分常數。零處的第一個積分值是列表中的第一個值,零處的第二個積分值是第二個值,依此類推。如果 k == [] (預設值),則所有常數都設定為零。如果 m == 1,則可以給定單一純量而不是列表。

lbndscalar,選用

積分的下限。(預設值:0)

sclscalar,選用

在每次積分之後,結果會乘上 scl,然後再加入積分常數。(預設值:1)

axisint,選用

執行積分的軸。(預設值:0)。

傳回值:
Sndarray

積分的 C 級數係數。

引發:
ValueError

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

另請參閱

chebder

注意事項

請注意,每次積分的結果都會乘上 scl。為什麼要注意這一點?假設在相對於 x 的積分中,進行變數 \(u = ax + b\) 的線性變換。則 \(dx = du/a\),因此需要將 scl 設定為等於 \(1/a\) - 可能不是人們最初會想到的。

另請注意,一般來說,積分 C 級數的結果需要「重新投影」到 C 級數基底集上。因此,通常,此函數的結果是「違反直覺的」,但卻是正確的;請參閱下方的「範例」章節。

範例

>>> from numpy.polynomial import chebyshev as C
>>> c = (1,2,3)
>>> C.chebint(c)
array([ 0.5, -0.5,  0.5,  0.5])
>>> C.chebint(c,3)
array([ 0.03125   , -0.1875    ,  0.04166667, -0.05208333,  0.01041667, # may vary
    0.00625   ])
>>> C.chebint(c, k=3)
array([ 3.5, -0.5,  0.5,  0.5])
>>> C.chebint(c,lbnd=-2)
array([ 8.5, -0.5,  0.5,  0.5])
>>> C.chebint(c,scl=-2)
array([-1.,  1., -1., -1.])