質問: f(x)e^(x^2/(-2))/sqrt(2pi)について、定積分を求めるソースを書いてみました。Xmaxはインテグラルの上の部分の数字のことで、Nは面積を何個に分割して求めるかです。それぞれ適当な数をはめた後、Xmaxに無限大を入
回答: プログラムを見るに、Nの値はX_maxの10倍の値を設定されているようですが、X_maxを無限大にした場合、当然ながらNの値も無限大になります。つまり、kをどれだけ増やしていってもNの値を超えないため、項の数が無限大となり、プログラムはΣの計算部分で永久にループし続けます。 これを避けるためには、適切な変数変換を行って必ず有限の長さの区間にしなければなりません。一般に、開区間[a, +∞)での広義積分に対しては、以下のような変数変換が用いられます。 説明変数: x = a + (1 - t) / t 積分区間: [a, +∞) → [0, 1] 区分求積の導出などは数式が多く複雑なのでこちらにまとめました。 お役に立てれば幸いです。