numpy.polynomial.hermite.hermint#

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

積分埃爾米特級數。

傳回從 lbnd 沿著 axis 積分 m 次的埃爾米特級數係數 c。在每次迭代中,產生的級數會乘以 scl,並加入積分常數 k。縮放因子用於變數的線性變換。(“買家請注意”:請注意,根據您正在執行的操作,您可能希望 scl 是您可能預期的倒數;如需更多資訊,請參閱下面的「注意事項」章節。)引數 c 是沿著每個軸從低到高次數的係數陣列,例如,[1,2,3] 代表級數 H_0 + 2*H_1 + 3*H_2,而 [[1,2],[1,2]] 代表 1*H_0(x)*H_0(y) + 1*H_1(x)*H_0(y) + 2*H_0(x)*H_1(y) + 2*H_1(x)*H_1(y),如果 axis=0 是 x 且 axis=1 是 y

參數:
carray_like

埃爾米特級數係數陣列。如果 c 是多維的,則不同的軸對應於不同的變數,每個軸的次數由對應的索引給定。

mint,可選

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

k{[],list,純量},可選

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

lbnd純量,可選

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

scl純量,可選

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

axisint,可選

積分所沿的軸。(預設值:0)。

傳回值:
Sndarray

積分的埃爾米特級數係數。

引發:
ValueError

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

另請參閱

hermder

注意事項

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

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

範例

>>> from numpy.polynomial.hermite import hermint
>>> hermint([1,2,3]) # integrate once, value 0 at 0.
array([1. , 0.5, 0.5, 0.5])
>>> hermint([1,2,3], m=2) # integrate twice, value & deriv 0 at 0
array([-0.5       ,  0.5       ,  0.125     ,  0.08333333,  0.0625    ]) # may vary
>>> hermint([1,2,3], k=1) # integrate once, value 1 at 0.
array([2. , 0.5, 0.5, 0.5])
>>> hermint([1,2,3], lbnd=-1) # integrate once, value 0 at -1
array([-2. ,  0.5,  0.5,  0.5])
>>> hermint([1,2,3], m=2, k=[1,2], lbnd=-1)
array([ 1.66666667, -0.5       ,  0.125     ,  0.08333333,  0.0625    ]) # may vary