- ベストアンサー
BLASTのE-Valueから確率の計算。
BLASTのE-Valueが1×10^(-25)から確率を計算しているのですが、計算の仕方がわからないので聞かせてください。式はわかっているんですが。。。 1 - e^(1×10^(-25))を計算したいんですが、普通に電卓で計算するとe^(1×10^(-25))は1と出てきて答えは0となるのですが、実際には0ではありません。 e^(1×10^(-25))の部分の計算方法がわからないのですが、どうやって計算したらいいのでしょう?この部分を近似する方法はあるのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
求めたいのは、「1 - e^(1×10^(-25))」なんですよね。 ならば、テーラー展開した、e^x = 1 + x/1! + x^2/2! + x^3/3! + … から、 1 - e^x = -x - x^2/2 - x^3/6 - … ですから、これに、x = 10^(-25)を代入すればよく、xがその大きさなら、第2項以下は無視しても構わないことが多いと思います。 「e^(1×10^(-25))」自体を計算しようと、テーラー展開した元の式に代入しても、その第2項で、大きさは、10^(-25)、一の位が1で、そのあとずっと0が続き、小数点以下第25位で、ようやく1が出てくるような数では、関数電卓が扱える桁数が10桁か多い奴でも12桁、PCのプログラミング言語や表計算ソフトで普通に使える、浮動小数点数でも、17桁あるかないかくらいなので、1になってしまうのは仕方がありません。 指数の方でも、10^(-25)だと、何乗かしたら、すぐにアンダーフロー(絶対値が、扱える最小の数を下回る)するので、ご質問の分野で、そういう大きさの数値を使うことが多いなら、基本、何か工夫しなきゃいけないと考えておくのがいいかもしれません。具体的な工夫の方法は、数値計算の本やネットを、「桁落ち」というキーワードで調べてみるといいでしょう。 上記のテーラー展開の利用もその一つですが、一番ポピュラーなのは、ものすごく近い値・a,bについて、a^2-b^2 を求めるとき、直にはなく、(a-b)(a+b)として代入、なんて奴です。