我想知道高斯laguerre如何在大範圍內工作。例如, 我在兩個維度都有一個從(0,+ inf)開始的2D函數。當我在python中使用gauss laguerre時,通過總結采樣權重和橫座標的函數,我沒有接近我使用的東西,比如說dblquad。以下是集成示例代碼。 lgw通過使用兩個for循環輸出用於雙重積分的權重和橫座標。 我看不出像x,y = 1e8,1e8這樣的採樣點是如何被捕獲的。增加n並不能提供高水平(至少不是很高)。高斯laguerre集成如何在大範圍內工作?
kzas,kzws = lgw(n)
for kta,ktw, in zip(kzas,kzws):
for kza,kzw in zip(kzas,kzws):
fval = integrand(kza,kta)
wghtx = kzw*numpy.exp(kza)
wghty = ktw*numpy.exp(kta)
integral += wghtx*wghty*fval
有人可以解釋如何捕獲更高的採樣點嗎?我沒有正確使用正交嗎?我可以將函數與小限制集成,比如1e2左右。如果限制較高,該怎麼辦說1e15?我從理論上看到了這個定義,但我沒有看到如何捕獲更高的權重和橫座標。
謝謝
編輯:這是不可能進一步減少我的功能。被積函數的不同部分用數字計算,所以我沒有任何分析表達式。我只能說功能是平滑的並且具有正弦行爲。
替換第一行中的最內部循環你是什麼功能的行爲的參數接近'+ inf'?我懷疑,如果你只是採樣「足夠遠的」點,你永遠不可能得到一個好的數值近似值,並且超出這個「足夠遠」的函數的行爲在某種程度上是不平凡的。你可以在應用數字方法的地方定義一個半徑,並通過分析估算剩餘的半徑? – 9000
@ 9000即使對於像1e10這樣的值,該函數也是非零的,並且僅在5e10之後才爲零。在它之間它以0和1之間以正弦方式變化(不總是,但我可以說它有這種變化)。它的函數值並不是很高,也沒有任何奇點。 – user3840530