ハマっている「お菓子」を教えて!

指数関数の解き方について教えてください。
例えば、exp(-0.1t)=10ならば、t=-10 ln(10)=-23.0259のように解が得られますね。Mathematicaを使うなら、
Solve[Exp[-0.1 t] == 10, t]
とすれば、
{{t -> -23.0259}}
という解が得られます。
それならば、
exp(-0.1t)-exp(-0.6t)=0.2
のように、指数関数の和になっている場合、tを求めるには、どうすればよいのでしょうか?Mathematicaで、
Solve[Exp[-0.1t] - Exp[-0.6t] == 0.2, t]
とすると、「方程式に本質的に非代数的な変数の超越関数が含まれている可能性が大きいです.」というエラーになり、解が求まりません。

数式で求めることはできないのでしょうか? 試行錯誤でやると、t=0.470523が解だと判るのですが。
よろしくお願いいたします。

A 回答 (3件)

こんばんは。


exp(x) を級数展開するしかなくなります。しかしながら、exp(ax)の方程式は、超越関数というエラーが出るとおり、無限大の長さを持つ項になってしまいます。

例外的に、解析的に解けるのが、オイラー方程式であり。今の所、他の形式については、証明がなされていません。
なぜならば、5次次数の高次方程式の代数的解法が無いことが、アーベルによって証明されているからです。
    • good
    • 0
この回答へのお礼

A-Tanakaさん、前回に続いて、今回もご回答下さりありがとうございます。
やはり一般には、解析的には解けないのですね。
exp項が一つなら簡単に解けるのに、2つになると、とたんに解けなるなる、ということですね。

お礼日時:2007/12/04 09:04

参考までに


Mathematicaが使える環境にないので代わりにMapleを使うと、
exp(-0.1t)=xと置いてやるとexp(-0.6t)=x^6であることを利用すれば
solve(x-x^6=0.2,{x});
で実数解が2個、他に虚数解が4個出てきます。
虚数解は捨てると
x=0.2000641232, x=0.9540376256
の2実数解が出てきますので
solve(eval(x=0.2000641232,x=exp(-0.1t)),t); → t=16.09117348
solve(eval(x=0.9540376256,x=exp(-0.1t)),t); → t=0.4705216848
と解が得られます。
    • good
    • 0
この回答へのお礼

info22さん、Mapleで試していただいてありがとうございました。

この例では、確かに解けていますね。Mathematicaでも解けることを確認してみます。

お礼日時:2007/12/04 09:11

exp(-0.1t) = X と置くと



X - X^6 = 0.2

ですね、これを X について解く必要があるでしょう。
    • good
    • 0
この回答へのお礼

koko_u_さん、早速のご回答を誠にありがとうございました。
そういう手があったのかと思いました。

私の例題の場合は、確かにこの方法で解けそうです。-0.6が-0.1で割り切れるから可能ですが、割り切れない場合、例えば、
exp(-0.1t)-exp(-0.63t)=0.2
だと無理なんでしょうね。

お礼日時:2007/12/04 08:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報