- ベストアンサー
指数方程式の解法
以下の対数方程式の解法を教えてください。 a = b ln(cx+d) + e ln(fx+g) (a~gは正の整数) よろしくお願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
{ (cx+d)^b }{ (fx+g)^e }=exp(a) ですから、xについて、(b+e)次の代数方程式です。 高次の代数方程式の解き方を知っていれば、できますね。
その他の回答 (6)
- info22
- ベストアンサー率55% (2225/4034)
#6です。 A#6にA#5の補足のURLの行をコピペで貼り付けたところ、 投稿されら表示を見ると投稿サイトのシステムで変な制御コードが入力されたか、ブラウザの先頭のアイコンのようなマークのコードかも知れません。 括弧を除いてもう一度コピペしてみます。 変なコードがあれは「http:」の所からコピペしてみてください。 http://maxima.sourceforge.net/download.html
- info22
- ベストアンサー率55% (2225/4034)
#3,#5です。 A#5の補足の件 > ちなみにご提示頂いたURLは404でした。 > フリーソフトではMaxima > (http://maxima.sourceforge.net/download.html) このソフトは世界的に使われているポピュラーなソフトです。どなたが検索をしても、出てくるソフトです(Windows版、Linux版があります。)。 このURLはGoogleで検索してコピペ(コピー・アンド・ペースト)で貼り付けたものです。 A#5からコピペでブラウザのアドレス欄に貼り付けてみましたはちゃんとURLのダウンロードページが表示されます。 多分、質問者さんがURLの入力ミスをして見えるのではないか、1文字ずつチェックしてみてください。あるいはコピペでURLを入力してみてください。
- info22
- ベストアンサー率55% (2225/4034)
#3です。 > 正定数を色々変化させてみた所、 > 実数xの解が1個だけ存在する事が確認できました。 bとeが整数のとき、 他の定数を適当に選べば実数xの解が 複数出てくる場合が確認できましたので 上記は訂正ください。 実数解xの個数は最低1個を持つ。 a=0.5,b=1,c=1.8,d=2,e=2,f=1.6,g=1.8の時1個 a=0.5,b=4,c=5,d=2,e=4,f=1.6,g=1.8の時2個 a=0.5,b=4,c=5,d=2,e=3,f=1.6,g=1.8の時3個 a=0.5,b=4,c=5,d=2,e=4,f=1.4,g=1.8の時4個 今のところ最大4個です。 5個以上は確認できていません。 b,eが整数の時は多次方程式になります。 この方程式は、定数が全て数値で与えられればニュートン法や数式ソフトを使えば、全てのxの数値解が得られます。 フリーソフトではMaxima (http://maxima.sourceforge.net/download.html) 有料ソフトではMaple,Mathematica などを使えばあっという間に数値解が出てきます。
お礼
丁寧なご回答ありがとうございました。 数式ソフトもあるのですね。活用してみます。 ちなみにご提示頂いたURLは404でした。
- info22
- ベストアンサー率55% (2225/4034)
一般解を解析的に求める事はできませんね。 具体的な正定数a~gが与えられれば数値計算による解を求める事はできます。 正定数を色々変化させてみた所、 実数xの解が1個だけ存在する事が確認できました。
お礼
ご回答ありがとうございました。
- hatake333
- ベストアンサー率66% (36/54)
自然対数のeと被るので, r = p * log(ax + b) + q * log(cx + d) とします.ただし,底はeとする. r = log{(ax + b)^p} + log{(cx + d)^q} r = log[{(ax + b)^p}*{(cx + d)^q}] {(ax + b)^p}*{(cx + d)^q} = e^r これから,(p+q)次方程式になるので次数が低ければ解ける. ただし,真数条件ax + b ≧ 0 , cx + d ≧ 0 に気をつける.
お礼
ご回答ありがとうございます。 次元が高いので、解くのは難しいのですね…
- R_Earl
- ベストアンサー率55% (473/849)
全部ln(…)の形に統一して、真数部分を比較します。 a = ln(e^a) b ln(cx+d) = ln{ (cx+d)^b } e ln(fx+g) = ln{ (fx+g)^e } a = b ln(cx+d) + e ln(fx+g) ln(e^a) = ln{ (cx+d)^b } + ln{ (fx+g)^e } ln(e^a) = ln[ { (cx+d)^b }{ (fx+g)^e } ] ∴ e^a = { (cx+d)^b }{ (fx+g)^e }
お礼
ご回答ありがとうございました。
お礼
ご回答ありがとうございます。 高次の代数方程式の解き方は知らないので、難しいですね。 ニュートン法などで反復計算するしかないのでしょうか。