PYTHON MEBY

Pythonで対数・指数関数を計算(math.log, math.exp, etc.)

この記事では、Pythonのmathモジュールを使用して対数関数と指数関数を計算する方法を説明します。math.log(), math.exp(), math.log10(), math.pow()などの関数の使用方法と、具体的な例を交えて解説します。

目次

math.log(): 自然対数

math.log(x)関数は、xの自然対数(底がeの対数)を返します。xは正の数でなければなりません。

import math

# 自然対数の計算
result = math.log(10)
print(f"10の自然対数: {result}")

# 底を指定して対数を計算
result = math.log(1000, 10) # 1000の10を底とする対数
print(f"1000の10を底とする対数: {result}")

第二引数に底を指定することも可能です。

import math
result = math.log(8, 2) # 2を底とする8の対数
print(f"2を底とする8の対数: {result}")

上記の例では、8の2を底とする対数は3となります。

math.exp(): 指数関数

math.exp(x)関数は、eのx乗(指数関数)を返します。

import math

# 指数関数の計算
result = math.exp(2)
print(f"eの2乗: {result}")

eはネイピア数(約2.71828)です。

math.log10(): 常用対数

math.log10(x)関数は、xの常用対数(底が10の対数)を返します。xは正の数でなければなりません。

import math

# 常用対数の計算
result = math.log10(100)
print(f"100の常用対数: {result}")

上記の例では、100の常用対数は2となります。

math.pow(): ベキ乗

math.pow(x, y)関数は、xのy乗を計算します。

import math

# ベキ乗の計算
result = math.pow(2, 3) # 2の3乗
print(f"2の3乗: {result}")
result = math.pow(10, -2) # 10の-2乗
print(f"10の-2乗: {result}")

任意の数のベキ乗を計算できます。

その他の注意点

これらの関数の引数には、数値型(int, floatなど)を使用する必要があります。不正な引数を渡すとValueErrorが発生する可能性があります。

  • math.log(x)とmath.log10(x)関数は、xが正の数である必要があります。そうでない場合はValueErrorが発生します。
  • math.pow(x, y)関数は、xとyが数値型である必要があります。そうでない場合はTypeErrorが発生します。
  • 非常に大きい数や非常に小さい数を計算すると、オーバーフローやアンダーフローが発生する可能性があります。

関連記事