【python】対数の計算方法について(log,log2,log10,log1p)[mathライブラリ]
対数計算は底が概念があるので計算関数にもいくつか種類があります。
一般的である底がe(ネイピア数)、2、10では専用の関数がデフォルトで存在します。
もちろん底の指定は可能です。
mathライブラリには4種類の対数関数があるので用途に分けて使用しましょう。
log関数 | 底 |
math.log(x) | e(2.71828 ) |
math.log2(x) | 2 |
math.log10(x) | 10 |
math.log(x,y) | y(第2引数で底の指定が可能) |
math.log1p(x+1) 引数を1加算される | e( 2.71828 ) |
底をeとして対数計算を行う
import math
e = math.e
print( "log(e ) =", math.log( e ) ) #log(e ) = 1.0
print( "log(e*e ) =", math.log( e * e ) ) #log(e*e ) = 2.0
print( "log(e*e*e) =", math.log( e * e * e ) ) #log(e*e*e) = 3.0
底を2として対数計算を行う
import math
print( "log2( 2 ) =", math.log2( 2 ) ) #log2( 2 ) = 1.0
print( "log2( 4 ) =", math.log2( 4 ) ) #log2( 4 ) = 2.0
print( "log2( 8 ) =", math.log2( 8 ) ) #log2( 8 ) = 3.0
print( "log2( 16 ) =", math.log2( 16 ) ) #log2( 16 ) = 4.0
print( "log2( 32 ) =", math.log2( 32 ) ) #log2( 32 ) = 5.0
底を10として対数計算を行う
import math
print( "log10( 10 ) =", math.log10( 10 ) ) #log10( 10 ) = 1.0
print( "log10( 100 ) =", math.log10( 100 ) ) #log10( 100 ) = 2.0
print( "log10( 1000 ) =", math.log10( 1000 ) ) #log10( 1000 ) = 3.0
print( "log10( 10000 ) =", math.log10( 10000 ) ) #log10( 10000 ) = 4.0
print( "log10( 100000 ) =", math.log10( 100000 ) ) #log10( 100000 ) = 5.0
底を指定して対数計算を行う
import math
print( "log( 49,7 ) =", math.log( 49, 7 ) ) #log( 49,7 ) = 2.0
print( "log( 27,3 ) =", math.log( 27, 3 ) ) #log( 27,3 ) = 3.0
底をeとして対数計算を行う(引数を1加算)
import math
e = math.e
print( "log1p( e-1) =", math.log1p( e - 1 ) ) #log1p( e-1) = 1.0
print( "log1p(e*e-1) =", math.log1p( e*e - 1 ) ) #log1p(e*e-1) = 2.0
ソースコードはこちらから
最近のコメント