そもそも自然対数の底ってなんやねんという話と、その使い道について。
自然対数の底(ネイピア数)とは
e=2.71828182...
という値の超越数です。
底という言葉が示すように、 $ e $ を底とした対数 $ \log_e x $ を $ x $ の自然対数と呼び、開発環境でlog関数として実装されている事が多いです。
それ以外にも $ e^x $ という指数関数が多用され、ほとんどの言語でexp関数として実装されています。
実際の定義は微分関数を使用したもので、 $ e^x\prime=e^x $ となる(つまり、微分・積分しても変化しない)事が $ e^x $ の最も基本的な性質です。
…という所までが定義上の話なのですが、円周の計算に使える $ \pi $ に比べると、何に使う数値なのかいまいち直感的に分からないので、簡単な実用法をいくつかご紹介します。
なお導出式としてはマクローリン展開を使用した方法が知られていますが、今回は割愛します。気になる方は調べてみてください。
使い道
底の実値が何でもいい場合
例として、計算式の積を和に変換したい時、以下のような公式を使用するケースがあります(競プロでたまに出題されます)。
\log_a MN = \log_a M + \log_a N
重要な点として、自然対数関数の計算はほとんどの場合常用対数などの計算よりも高速です。1
上記の計算式の場合底の値は重要でない場合が多く、一般的に $ e $ が底として使用されます。
物理現象のシミュレーション
おそらく一番直感的なのがこの方法だと思います。
例えば、 $ t $ を時間軸とした時の温度の減衰シミュレーションに $ e^{-t} $ を使用できることが知られています(ちょうど焼きなまし法がそんな感じですね)。
他には富士山の斜面の形が $ e^x $ のグラフに一致することがたまに話題になりますが、使い道があるかどうかはわかりません。
まとめ
結論を一言で言うと、 $ e $ の数値そのものに実用的な意味はあまりなく、それを利用した関数 $ e^x $ および $ \log_e x $ に使い道があるといった感じです。
上記以外にも統計学で使用する分布関数や物理学の公式、頂点補完関数でよく使用されているのを見かけますが、詳細はあんまり知らないです。
色々真面目に書きましたが、筆者がよくやるのはunityのupdate関数などのElapsedTimeを考慮しないといけない環境でRigidbody.velocity *= xのような累積積の係数を適当に計算するためだったり、ゲージの増減のアニメーションをそれっぽくするためだったり変な使い方が多いです。一応イージングにも使えます。
うまく使えば計算負荷を減らせるので、いろいろ試してみるといいと思います。
-
同様に、exp関数はpow関数よりも高速である場合が多いです。 ↩