質問<3240>2006/6/10
2^-x=xの解き方を教えてください。 ★完全解答希望★
お便り2006/6/14
from=亀田馬志
ではフリー数式処理ソフトMAXIMA(ウィンドウズ版)で見てみましょうか。 まずはMAXIMAをダウンロードしてみて下さい。 英語の誘導に従ってMAXIMAをダウンロードしたらデスクトップに MAXIMAのアイコンが出来てる筈です。それをダブルクリックして MAXIMAを立ち上げてください。そうすると、 Maxima 5.9.3 http://maxima.sourceforge.net Using Lisp GNU Common Lisp (GCL) GCL 2.6.7 (aka GCL) Distributed under the GNU Public License. See the file COPYING. Dedicated to the memory of William Schelter. This is a development version of Maxima. The function bug_report() provides bug reporting information. (%i1) と言った画面が現れる筈です。これで起動成功です。 (%i1)と言うのは入力(inputその1)待ち、と言う意味で、この後にコマンドを入力して MAXIMAに数式を解かせるワケです。 さて、方程式を解かせるコマンドは、 solve(方程式,変数); です。これを題意に従って、MAXIMAに入力してみましょう。 次のようにセミコロン(;)まで入力します。 (%i1) solve(2^(-x)=x,x); そしてリターンキーを押すと解が示される筈です。 1 (%o1) [x = --] x 2 となっていますね。 MAXIMAによると、 x=1/(2^x) なそうなんですが、そんなの初めっから分かってた事です。 一体どうしちゃったんでしょう? つまりですね、この意味は「解析的にこの方程式の解を求めるのは不可能」って意味なんです。 ガッカリですね。残念です。 でもちょっと悔しいので、地団駄踏んでみましょう。問題の題意は、 y=2^(-x) y=x と言った二つの関数に「交点が存在するのか否か?」と聞いているワケです。 つまり幾何学の問題に置き換える事が出来るんですね。 そこで「解析的に解が求まらない≠解が存在しない」ので、取りあえずMAXIMAに 二つの関数を描画させて、解が存在するかどうか見てみましょう。 MAXIMAに2つのグラフを描画させるコマンドは、 plot2d([f(x),g(x)],[x,xの最小値,xの最大値],[y.yの最小値,yの最大値]); です。そこで取りあえず-4≦x≦4、-4≦y≦4の範囲でMAXIMAに2つの関数が 交点を持つのかどうか描画させてみましょう。 新しい入力待ち(%i2)が出ている筈なので、以降次のようにセミコロン(;)まで入力します。 (%i2) plot2d([2^(-x),x],[x,-4,4],[y,-4,4]); リターンキーを押すとグラフが出てくる筈です(グラフは別掲しておきます)。交点が存在し ますね。って事は一応解が存在するようです。恐らく0.5~1.0の範囲で交点が存在するので はないか、と。 そこで力技を試してみましょう。ニュートン法と言った手法を用います(詳細は端折ります)。 まずはMAXIMAにニュートン法用のアドオンパッケージを次のようにコマンドを セミコロン(;)まで入力してインストールします。 (%i3) load(newton); リターンキーを押せば、次のような表示が出てくる筈です。 (%o3) C:/PROGRA~1/MAXIMA~1.3/share/maxima/5.9.3/share/numeric/newton.mac これでアドインパッケージ“newton"のインストールは完了致しました。 ところで、ニュートン法ってのは次の形の方程式 f(x)=0 を数値計算で解く方法です。つまり、与題は 2^(-x)-x=0 であると解釈します。 そこで、MAXIMAでニュートン法を行うコマンドは newton(方程式,初期値); となっています。「初期値」と言うのは適当な解に近そうな値を与えて、その数値から微分 を使って強制的に解を探し出していくのです。 ところで、「解を知らないのに適当な初期値とはコレ如何に?」と思うかもしれません。が、 だからこそ先に描画しておいて「アタリ」をつけていたんですね。ここでは初期値を1として みます。 以上で、MAXIMAに次のように入力します。 (%i4) newton(2^(-x)-x,1); リターンキーを押せばxの近似解が得られます。その解は実に驚くべき解なんですが、 この余白は狭すぎてそれを記す事が出来ません(笑)。 アトはご自分でMAXIMAと格闘なさってみて下さい。 参考文献: MAXIMA日本語マニュアル MAXIMAの手引き Maxima入門ノート![]()