dポイントプレゼントキャンペーン実施中!

f(X)=ln(1±X)≒±X という近似を教えてください。
マクローリン展開をしてグラフを作図してみたのですが、-1<x<1 の範囲ではグラフからは成立しているように読み取れるのですが、その範囲を超えてしまうと、近似はズレてきます。
マクローリン展開以外の近似の方法があるのでしょうか?
お願いします。

A 回答 (1件)

 自然対数をマクローリン展開


   ln(1+x) = x - x^2/2 + x^3/3 ...  (*)
したときの収束半径は1ですから、|x| < 1 の範囲で近似しようとするのは危ないと思います。また、右辺の収束はあまり速くありません。
 次のような2段階の工夫をするとよいようです。
 2の整数乗で x に最も近いものを 2^n で表し、x = (2^n)*t とすると、
  ln(x) = n*ln(2) + ln(t) ( Sqrt(1/2) <= t < Sqrt(2) )
だから、ln(2) を定数として与えれば、ln(t) を計算すればよいことになります。
 さらに、u = (1-t)/(1+t) とおくと、t = (1-u)/(1+u) で (*) を使うと、
  ln(t)
 = ln(1+u) - (1-u)
 = 2*(u + u^3/3 + u^5/5 ... )
となります。
 これで計算すると (*) よりずっとましになります。
 また、連分数展開を利用する方法もあるようです。

 以上、状況がよくわからないので適切な回答かどうか自信はありませんが、参考にしていただければ幸いです。

<参考図書>
  奥村 晴彦 著「C言語による最新アルゴリズム事典」技術評論社(ISBN4-87408-414-1)
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
参考にさせていただきます。

お礼日時:2002/09/05 22:50

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