- ベストアンサー
複雑な積分の解
はじめまして.どなたか数学に詳しい方にご質問なんですが 下記の積分を解くことは可能なのでしょうか,ご教授いただけるとさいわいです. at^(-1/2)*exp(-b(1-t)^2/t)) dt を積分したいのですがexpの中身が複雑で解けませんどのたか教えてください. ちなみにa,bは定数です.
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
数式処理ソフト(Maple)によると、b > 0 のとき ∫a/√( t )*exp{ -b*( 1 - t )^2/t } dt = a*√( π/b )*exp( 2*b )*[ exp( 2*b )*erf{ √( b/t )*( t^2 + 1 ) } + exp( -2*b )*erf{√( b/t )*( t^2 - 1 ) } ]/2 定積分 [ t = 0 → ∞ ] = a*√( π/b ) ただし、erf(x) = 2/√(π) *∫[ t = 0 → x ] exp( -t^2 )、erf( 0 ) = 0、erf( ∞ ) = 1 となります。この結果から、逆に、適当な置換を考えてみてはいかがでしょうか。 erf は Excel のエンジニアリング関数にある ERF という関数で計算できます。ERF( a,b ) = 2/√(π) *∫[ t = a → b ] exp( -t^2 ) ですので、ERF( 0,x) とすれば、上の erf (x) に一致します。ちなみに、Excel の計算精度では、5.73 < x で ERF( 0,x) =1 となり、27.3 < x でオーバーフロー(#NUM! エラー)となりますので、一定積分の上限が ∞ であっても、数値計算では x = 6 程度を上限とすればいいと思います。
その他の回答 (1)
exp(t^2)の類の不定積分は、初等関数の組合せでは表せないことがわかっています。これに、t^(-1/2)がかかっているので、たぶんなをの事駄目でしょう。定積分の x=1→無限大 なんかだったら、複素化して2重積分を利用して何とかなるかもしれません(が、やる気になれません)。 #1さんがせっかくExcelのことを仰っているので、こういうのはどうでしょう?。 数値結果を出すだけなら、Excelの表計算機能を使って一瞬で、数値積分できます。何故なら、x=0付近を除けば、与式は非常に性質が良いからです。x=1→無限大でも、1≦x≦10くらいを100~1000分割して台形公式を適用すれば、実用的には十分な応えが得られます。 じつは私、ERF(誤差関数)用の Excel WorkSheet を一枚作って、いつも利用しています。