• 締切済み

数値積分

数値積分で e^(-x)/√xを[0,1]の範囲で数値積分するのですが、 f(0)の値が無限になり、台形公式やシンプソンの公式が使えません。 この場合どのように解けばよいんですか?

みんなの回答

回答No.5

「手計算タイプの数値積分」とは何ですか。私は聞いたことがありませんが、一般に通用する言葉なのですか?下のP.J.Davis,P.Rabinowitzの本は数値積分の専門書ですが、これにも「手計算タイプの数値積分」はありません。そもそも数値積分とは手計算でなく計算機でする積分のことなので、「手計算タイプの数値積分」は自己矛盾のような気もしますが?

すると、全ての回答が全文表示されます。
回答No.4

National bureau of Standards Applied Mathematics series 41; Tables of the Error Function and its Derivative によれば  (2/√π)∫[0,1]dx exp(-x^2) = 0.84270079294971512 したがって  ∫[0,1]dx e^(-x)/√x =∫[0,2]du exp(-u^2/4) =√π × 0.84270079294971512 ≒ 1.493648264

すると、全ての回答が全文表示されます。
回答No.3

e^(-x)/√xはx→0 のとき 1/√x のように発散します。そこで  du = dx/√x となるようにするには u=2√x とおけば良いことが分かります。すると  ∫[0,1]dx e^(-x)/√x = ∫[0,2]du exp(-u^2/4) と発散のない形になります。正規分布表でこの積分を求めるとおよそ1.49になります。

すると、全ての回答が全文表示されます。
回答No.2

適当な変数変換で被積分関数の特異点を除いておく必要があります。一般的な方法としてはIMT公式や二重指数関数型公式があります。 P.J.Davis,P.Rabinowitz/著 , 森正武/訳 計算機による数値積分法:日本コンピュータ協会 (1981) u=log(x) とおくと  ∫[0,1]dx e^(-x)/√x = ∫[-∞,0]du exp(u/2)*exp(-exp(u)) 被積分関数が発散する点がなくなった替わりに積分区間が無限になってしまいました。しかしexp(u/2)はu→-∞で急速に減少するのでこちらの方が望ましいと言えます。右辺を数値積分すると1.493648になりました。検算するために部分積分を繰り返して  ∫[0,1]dx e^(-x)/√x = e^(-1) Σ2^k/(2k-1)!!  (k=1~∞の和) として右辺を計算すると1.493648になりました。もっと難しい問題は  戸田 英雄 小野 令美 日本物理学会誌、37(8) [1982.08]、p655

ggoggo2345
質問者

お礼

後は計算機でやるってことですよね? ありがとうございます、本当に助かりました!! 数値積分といっても方法がいくつもあり、 手計算タイプの数値積分ではできないみたい(?)ですね。

すると、全ての回答が全文表示されます。
  • kakkysan
  • ベストアンサー率37% (190/511)
回答No.1

積分区間を[ε、1]として、lim(ε→0) を考える物では無いでしょうか。

ggoggo2345
質問者

補足

やってみましたが、結局同じような計算をすることになりました・・・

すると、全ての回答が全文表示されます。

関連するQ&A