• ベストアンサー

積分が分かりません

houmonnと申します。この積分が分からなくてかなり困っております。解き方が分かる方だけでなく、こうやればいいのではと感じた方も書き込みしていただければ、すごく助かります。よろしくお願いいたします。 式は ∫exp(-A/x)dx の定積分で範囲がa~bまでです。

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

  • ベストアンサー
  • siegmund
  • ベストアンサー率64% (701/1090)
回答No.3

結論から言いますと,初等関数では表現できません. 積分区間は x の正の領域の中(すなわち,a,b>0) としておきます そうしないと,x=-0 のところ(x が負の側からゼロに近づく)で, 積分値が発散してしまいます. 標準的変形は mmky さんの示されたとおりで, No.2 回答の (1)  {∫t^(-2)*exp(-t)dt }     = -t^(-1)*exp(-t) - ∫t^(-1)*(-1)exp(-t)dt     = -t^(-1)*exp(-t) + ∫t^(-1)*exp(-t)dt までは(途中の符号ミスを除いて)OKです. 最後の辺の第2項は積分指数関数と呼ばれる関数で Ei(t) と書かれますが, 初等関数では表せないことが知られています. なお,mmky さんはガンマ関数系?,と書かれていますが,そのとおりです. 普通のガンマ関数の定義は (2)  Γ(z) = ∫{0~∞} t^(z-1) exp(-t) dt です.(1)の最終辺第2項は (3)  ∫{α~β} t^(z-1) exp(-t) dt の形で z=2 に相当しますが,積分範囲が違いますね. (2)で積分領域が 0~∞ でないバージョンがありまして, (4)  Γ(z,p) = ∫{p~∞} t^(z-1) exp(-t) dt (5)  γ(z,p) = ∫{0~p} t^(z-1) exp(-t) dt の2つが不完全ガンマ関数と呼ばれています. 前者が第2種不完全ガンマ関数,後者が第1種不完全ガンマ関数. これを使うなら(3)は (6)  (3) = Γ(α,z) - Γ(β,z) = γ(β,z) - γ(α,z) と書けます. いずれにしろ,初等関数では表現できません.

houmonn
質問者

お礼

ガンマ関数の詳しい説明まで本当にありがとうございます。これを機会に、ガンマ関数のことをしっかりと勉強したいと思います。 実はこの式は、熱ルミネッセンスのフィッティングを行うときに使用する式なのですが、どうしても積分が解けなくて苦労しているところです。 積分指数関数Ei(x)の存在はこの式を調べているときに知ることが出来ました。特殊関数の部類に入るとのことなのですが、積分が不得意な私は正しいのかが分からなくて困っています。 皆さんのヒントをもとにしてもう少し頑張ってみます。ありがとうございました。

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

その他の回答 (4)

  • siegmund
  • ベストアンサー率64% (701/1090)
回答No.5

siegmund です. すみません.符号ミスしました. (1)のところは mmky さんの式の通りでOKです. つまり (1)  {∫t^(-2)*exp(-t)dt }     = -t^(-1)*exp(-t) + ∫t^(-1)*(-1)exp(-t)dt     = -t^(-1)*exp(-t) - ∫t^(-1)*exp(-t)dt が正しいです. t=A/x という変換ですから,a<x<b の範囲の積分を t 積分になおすと 積分の下限の方が上限より大きくなるわけで (つまり A/a から A/b まで t 積分ですが,当然 A/a > A/b です), 上下限を入れ換えた表現にしたり元に戻したりしているうちに 符号をミスしちゃいました. mmky さん,大変失礼しました. そうですね~,A がわかっていて, 特定の a,b (具体的数値がわかっている)について何とかしたいというなら, 数値積分のプログラム(台形公式とかシンプソン公式とか)に 今の関数をぶちこんでしまうのが一番簡単でしょうか. 今の関数は,x → +0 でゼロ,単調増加で x→∞ で1, というふるまいですから,危ないところはなさそうです.

houmonn
質問者

お礼

ありがとうございます。 レスをしていて私自身いろいろ勉強になりました。 aとbは具体的に数値を定めることが出来ます。(bは最8~300のどれかです。何度も変えて計算する必要があります) 本棚の裏に数値積分のプログラムでMATHEMATICAが手元にありましたので、これに直接入力してみたいと思います。ただ、パッケージを見る限りだと全部英語のような気がしてなりません(英語は苦手です)。 皆さんのレス、詳しくて本当に助かりました。今後また何か分からないことがありましたら、その時はよろしくお願いいたします。

すると、全ての回答が全文表示されます。
  • mmky
  • ベストアンサー率28% (681/2420)
回答No.4

#2のmmkyです。 #3のsiegmund先生回答ありがとうございます。 ガンマー関数系とわかって質問者のhoumonnさんにどう答えようかと悩んでおりました。 siegmund先生の明快な回答がありますので、何とかアドバイスできます。 #3の指摘どおりですが、それでも何とかしたいという場合は、 (1)K>A/x>0の条件で、exp(-A/x)をテーラ展開して項別積分を行う方法。 手計算では無理と思いますので計算プログラムで収束具合を見ながらどこまでやるかを決める。 (2)K>A/x>0の条件で(A/x=t^2)と近似できるならば、 ∫exp(-A/x)^2dx→∫-(2/t)*exp(-t^2)dt と変形できますので解けると思います。 参考まで

houmonn
質問者

お礼

ありがとうございます。 積分の定数について詳しい説明をしませんでしたので、付け加えたいと思います。 定積分の範囲をa~bと置いたのですが、実際のところは液体ヘリウムの温度から室温までなので8~300が範囲になります。 定数Aですが、実際はΔE/kBです。分母はボルツマン定数ですので1.38*10^(-23)で、分子は活性化エネルギーですのでeVをジュールに変換するとここでは3.5*10^(-21)のいくらかだろうと思います。 そうすると、A=400くらいでしょうか。 この値はあくまで予想ですので、A=数百と考えていただければ大丈夫です。 申し訳ありません。記述していて気がつきました。 質問している定積分の範囲をa~bと置いてしまいましたが、8~xの間違いです。a=8もさることながらb=xに変わることは計算上重要ですので、この場をお借りして訂正いたします。 申し訳ありませんでした。

すると、全ての回答が全文表示されます。
  • mmky
  • ベストアンサー率28% (681/2420)
回答No.2

参考手順まで(#1は途中に大間違いがありました。ごめん。) ∫exp(-A/x)dx の定積分で範囲がa~bまでです。 A/x=t と置いてみる、 -A/x^2=dt, x=A/t ∫exp(-A/x)dx=(-1/A)∫x^2*exp(-t)dt =-A{∫t^(-2)*exp(-t)dt} --(1) →ガンマ関数系ですね。 {∫t^(-2)*exp(-t)dt } =-t^(-1)*exp(-t)+∫t^(-1)*(-1)exp(-t)dt =-t^(-1)*exp(-t)-∫t^(-1)*exp(-t)dt 以降間違い・・ごめん!

houmonn
質問者

お礼

#1と合わせまして、詳しいレスありがとうございます。 私もt=A/xと置いて部分積分で計算してみたのですが、t^(-2)の乗数を減らすとlogになってしまい、増やすとキリがなくなってしまってつまずいていました。また、乗数を増やして∫が取れた部分をΣでまとめた後残った積分を近似できないかということも試みましたが、どうも混乱して分かりませんでした。 ガンマ関数というものの存在を知らなかったので、今から調べてみます。 本当にありがとうございました。

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

参考手順まで ∫exp(-A/x)dx の定積分で範囲がa~bまでです。 A/x=t と置いてみる、 -A/x^2=dt, x=A/t ∫exp(-A/x)dx=(-1/A)∫x^2*exp(-t)dt =-A{∫t^(-2)*exp(-t)dt} →ガンマ関数系? {∫t^(-2)*exp(-t)dt } =-t^(-1)*exp(-t)+∫t^(-1)*(-1)exp(-t)dt =-t^(-1)*exp(-t)-∫t^(-1)*exp(-t)dt =-t^(-1)*exp(-t)+t^(-2)*exp(-t)+∫t^(-2)*(-1)exp(-t)dt =-t^(-1)*exp(-t)+t^(-2)*exp(-t)-∫t^(-2)*exp(-t)dt 2*{∫t^(-2)*exp(-t)dt } =-t^(-1)*exp(-t)+t^(-2)*exp(-t) =exp(-t){-t^(-1)+t^(-2)} {∫t^(-2)*exp(-t)dt } =(1/2)exp(-t){-t^(-1)+t^(-2)} つまり、 ∫exp(-A/x)dx=-(A/2)exp(-t){-t^(-1)+t^(-2)} 積分区間は、(a→b) (A/a →A/b) =-(A/2)[{exp(-A/a){-(A/a)^(-1)+(A/a)^(-2)} -{exp(-A/b){-(A/b)^(-1)+(A/b)^(-2)}] ということかな。正負の記号が多いので答えに自信なしですが、 あくまで手順の参考まで。

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

関連するQ&A