2015年1月9日金曜日

[Python] 指数関数,対数関数の計算

Pythonで指数関数,対数関数の計算を行うために,mathモジュールを使用してみた際のメモです.
まずは,ターミナルでPythonを立ち上げます.
$ python3

ネイピア数$e$(自然対数の底)は,mathモジュールの中で定数として用意されていて,math.e で表されます.
>>> import math
>>> print(math.e)

2.718281828459045

指数関数
自然対数の底$e$(ネイピア数)のべき乗を計算するには,math.exp()を使います.以下は$e^{2}$を表示してみた例です.
>>> print(math.exp(2))
7.38905609893065

math.exp(x) は math.e ** xとは等価でないようです.math.exp(x)のほうが正確な値が得られるそうです.
>>> print(math.exp(2))
7.38905609893065
>>> print(math.e**2)
7.3890560989306495
>>> print(math.exp(2) == math.e**2)
False

対数関数
一般的な底を持つ対数関数を計算するには,math.log(), math.log10(), math.log2() を使います.また,math.log(x, y)はyを底としたxの対数を返します.

自然対数の例
底を省略すると,自動的に自然対数になります.
>>> print(math.log(math.e))
1.0
>>> print(math.log(math.e, math.e))

1.0
自然対数の場合は,底を記載しても省略しても同じ値が返ってくるようです.
>>> print(math.log(math.e, math.e) == math.log(math.e))
True

常用対数の例
>>> print(math.log10(100000))
5.0
常用対数の場合も,底を記載しても省略しても同じ値が返ってくるようです.
>>> print(math.log10(100000) == math.log(100000, 10))
True

2進対数の例
>>> print(math.log(1024, 2))
10.0
2進対数の場合も,底を記載しても省略しても同じ値が返ってくるようです.
>>> print(math.log2(1024) == math.log(1024, 2))
True

底を指定する対数の例
>>> print(math.log(25, 5))
2.0

0 件のコメント :

コメントを投稿