2^-x=xの解き方を教えてください。
★完全解答希望★
2^-x=xの解き方を教えてください。
★完全解答希望★
ではフリー数式処理ソフト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 bu\(g_{r}\)eport()
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.\(\frac{3}{s}\)har\(\frac{e}{m}\)axim\(\frac{a}{5}\).9.\(\frac{3}{s}\)har\(\frac{e}{n}\)umeri\(\frac{c}{n}\)ewton.mac
これでアドインパッケージ“newton"のインストールは完了致しました。
ところで、ニュートン法ってのは次の形の方程式
f(x)=0
を数値計算で解く方法です。つまり、与題は
2^(-x)-x=0
であると解釈します。
そこで、MAXIMAでニュートン法を行うコマンドは
newton(方程式,初期値);
となっています。「初期値」と言うのは適当な解に近そうな値を与えて、その数値から微分
を使って強制的に解を探し出していくのです。
ところで、「解を知らないのに適当な初期値とはコレ如何に?」と思うかもしれません。が、
だからこそ先に描画しておいて「アタリ」をつけていたんですね。ここでは初期値を1として
みます。
以上で、MAXIMAに次のように入力します。
(%i4) newton(2^(-x)-x,1);
リターンキーを押せばxの近似解が得られます。その解は実に驚くべき解なんですが、
この余白は狭すぎてそれを記す事が出来ません(笑)。
アトはご自分でMAXIMAと格闘なさってみて下さい。
参考文献:
MAXIMA日本語マニュアル
MAXIMAの手引き
Maxima入門ノート
