転換ん


15

数値的に形式の積分を行おうとしているとき、私は逸話的に聞いたことがあります

0fバツJ0バツdバツ

(例えば、それ自体高い振動、正則、等)を滑らかにし、行儀、それはとしてそれを書き換える精度を助けますfバツ

1π0π0fバツcosバツθdバツdθ

そして、最初に内部積分を数値的に実行します。これが機能すると期待すべき理由はわかりませんが、数値メソッドの精度はほとんど明らかではありません。

もちろん、実際にそれを行う最良の方法は、このような振動積分に最適化された方法を使用することです。この変換を行うと積分の精度が向上する傾向があることを誰もが確認または反論できますか?そして/またはそれを説明する情報源に私を向けますか?


1
上で統合された ...それはベッセル関数の積分の定義の一つです。0θπ
デビッドZ

4
あなたの質問をされるように:ジェネリックを考えると -ポイント直交式Q N [ ][ 0 Q N π [ ][ 0 π ]であり、Q N Mは [ FNQN[][0QπN[][0π]よりも悪い以上 Q M π [ Q N [ F X QNM[fJ0]QπM[QN[fバツcosバツθ]]
ステファノM

@StefanoMはい、そうです。
デビッドZ

FWIW、ゼロ次ベッセル関数を評価するための最も効率的な方法の1つは、1周期(通常の標準のガウス求積法よりも優れている)にわたって周期被積分関数を積分するときに非常に正確な結果を与えることが知られている台形規則です。だから、それは助けになるかもしれないし、そうでないかもしれない。
JM

回答:


3

違いはないと思います。ベッセル関数J 0に等しくなるように、上の積分に対して十分に高い求積法を選択する必要があります。以下の例では次数20を選択しましたが、積分する正確な関数と間隔に関して常に収束する必要があります。次に、x上の積分のガウス求積法の次数nで収束しました。私が選んだのF X = E - X X 2及び利用ドメイン[ 0 xは最大 ]を変更することができ、xの最大値をθJ0nバツfバツ=eバツバツ2[0バツ最大]バツ最大未満。私が得た:

 n      direct         rewritten
 1  0.770878284949  0.770878284949
 2  0.304480978430  0.304480978430
 3  0.356922151260  0.356922151260
 4  0.362576361509  0.362576361509
 5  0.362316789057  0.362316789057
 6  0.362314010897  0.362314010897
 7  0.362314071949  0.362314071949
 8  0.362314072182  0.362314072182
 9  0.362314072179  0.362314072179
10  0.362314072179  0.362314072179

n=9

コードは次のとおりです。

from scipy.integrate import fixed_quad
from scipy.special import jn
from numpy import exp, pi, sin, cos, array

def gauss(f, a, b, n):
    """Gauss quadrature"""
    return fixed_quad(f, a, b, n=n)[0]

def f(x):
    """Function f(x) to integrate"""
    return exp(-x) * x**2

xmax = 3.

print " n      direct         rewritten"
for n in range(1, 20):
    def inner(theta_array):
        return array([gauss(lambda x: f(x) * cos(x*sin(theta)), 0, xmax, n)
            for theta in theta_array])
    direct = gauss(lambda x: f(x) * jn(0, x), 0, xmax, n)
    rewritten = gauss(inner, 0, pi, 20) / pi
    print "%2d  %.12f  %.12f" % (n, direct, rewritten)

xmax[0]f(x)rewritten = gauss(inner, 0, pi, 20) / pi


あなたが正しいと思う、私自身のテストは同様の結果を示しています。
デビッドZ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.