• ベストアンサー

複雑な積分の解

はじめまして.どなたか数学に詳しい方にご質問なんですが 下記の積分を解くことは可能なのでしょうか,ご教授いただけるとさいわいです.  at^(-1/2)*exp(-b(1-t)^2/t)) dt を積分したいのですがexpの中身が複雑で解けませんどのたか教えてください. ちなみにa,bは定数です.

質問者が選んだベストアンサー

  • ベストアンサー
  • inara
  • ベストアンサー率72% (293/404)
回答No.1

数式処理ソフト(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)

noname#221368
noname#221368
回答No.2

 exp(t^2)の類の不定積分は、初等関数の組合せでは表せないことがわかっています。これに、t^(-1/2)がかかっているので、たぶんなをの事駄目でしょう。定積分の x=1→無限大 なんかだったら、複素化して2重積分を利用して何とかなるかもしれません(が、やる気になれません)。  #1さんがせっかくExcelのことを仰っているので、こういうのはどうでしょう?。  数値結果を出すだけなら、Excelの表計算機能を使って一瞬で、数値積分できます。何故なら、x=0付近を除けば、与式は非常に性質が良いからです。x=1→無限大でも、1≦x≦10くらいを100~1000分割して台形公式を適用すれば、実用的には十分な応えが得られます。  じつは私、ERF(誤差関数)用の Excel WorkSheet を一枚作って、いつも利用しています。

関連するQ&A

専門家に質問してみよう