mathモジュールでよく使われるメソッド
1.基本的な数学計算
- 平方根を計算する
math.sqrt(x)
print(math.sqrt(16)) # 出力: 4.0
- 累乗を計算する
math.pow(x, y)
print(math.pow(2, 3)) # 出力: 8.0
- 切り上げる
math.ceil(x)
指定した数値を切り上げます。
print(math.ceil(3.14)) # 出力: 4
- 切り捨てる
math.floor(x)
指定した数値を切り捨てます。
print(math.floor(3.14)) # 出力: 3
- 小数部分を切り落とす
math.trunc(x)
print(math.trunc(3.14)) # 出力: 3
注意点
- floor と trunc
正の数の場合:
floor と trunc はどちらも同じ結果を返します。
例:
print(math.floor(3.7)) # 出力: 3
print(math.trunc(3.7)) # 出力: 3
負の数の場合:
floor: 小数点以下を切り捨て、「下方向」に丸めた整数を返します。
trunc: 小数点以下を切り落とし、符号をそのまま維持します。
Python 3.5以降では、floor と trunc はどちらも整数型を返します。
例:
print(math.floor(-3.7)) # 出力: -4
print(math.trunc(-3.7)) # 出力: -3
2.三角関数
- 三角関数:正弦、余弦、正接
math.sin(x)、math.cos(x)、math.tan(x)
import math
# 角度に対応する三角関数の値を計算
angle = math.pi / 4 # 45度
sin_val = math.sin(angle)
cos_val = math.cos(angle)
tan_val = math.tan(angle)
print(sin_val)
# 約 0.707 を出力
print(cos_val)
# 約 0.707 を出力
print(tan_val)
# 約 1.0 を出力
- 逆三角関数
math.asin(x)、math.acos(x)、math.atan(x)
import math
# 逆三角関数の値を計算
arcsin_val = math.asin(0.707)
arccos_val = math.acos(0.707)
arctan_val = math.atan(1.0)
print(arcsin_val)
# 約 0.785 を出力(45度)
print(arccos_val)
# 約 0.785 を出力(45度)
print(arctan_val)
# 約 0.785 を出力(45度)
注意点
- Python では、角度は ラジアン で表現されます。
必要に応じて、
math.radians() を使用して角度(度)をラジアンに変換したり、
math.degrees() を使用してラジアンを角度(度)に変換することができます。
- 三角関数の結果が浮動小数点の場合、端数処理による微小な誤差が発生することがあります。
3.対数関数
- 自然対数
math.log(x[, base])
自然対数を計算します。
import math
# 自然対数を計算
log_val = math.log(2.71828)
log_base_10_val = math.log(100, 10)
print(log_val)
# 出力: 約 1.0
print(log_base_10_val)
# 出力: 2.0
- 底10の対数
math.log10(x)
自然対数を計算します。
import math
# 底10の対数を計算
log10_val = math.log10(100)
print(log10_val)
# 出力: 2.0
4.指数関数
- 自然対数
math.exp(x)
e の x 乗,e(自然対数の底)を x 乗した結果を計算します。
import math
# e の x 乗を計算
exp_val = math.exp(1)
print(exp_val)
# 出力: 約 2.71828
5.角度とラジアンの変換
- math.degrees(x)
ラジアンを角度に変換
radian = math.pi / 4
degrees = math.degrees(radian)
print(degrees)
# 出力: 45.0
- math.radians(x)
角度をラジアンに変換
degree = 45
radians = math.radians(degree)
print(radians)
# 出力: 約 0.785
6.最大値と最小値
- math.fabs(x)
絶対値を返します。
import math
# 絶対値の計算
abs_val = math.fabs(-3.14)
print(abs_val) # 出力: 3.14
- math.fmod(x, y)
x を y で割った余りを返します。
import math
# 余りの計算
mod_val = math.fmod(10, 3)
print(mod_val)
# 出力: 1.0
7.定数
- math.pi
円周率 π を表します。
import math
# 円周率
pi_val = math.pi
print(pi_val)
# 出力: 約 3.14159
- math.e
自然対数の底 e を表します。
import math
# 自然対数の底数
e_val = math.e
print(e_val)
# 出力: 約 2.71828
8.その他の便利な関数
- math.isclose(a, b, rel_tol=1e-09, abs_tol=0.0)
a と b が近似的に等しいかを判定します。
import math
# 近似判定
close_result = math.isclose(1.0000001, 1.0)
print(close_result)
# 出力: True
- math.isinf(x)
x が無限大かどうかを判定します。
import math
# 無限大判定
inf_result = math.isinf(float('inf'))
print(inf_result)
# 出力: True
- math.isnan(x)
x が NaN(Not a Number、非数値)かどうかを判定します。
import math
# NaN 判定
nan_result = math.isnan(float('nan'))
print(nan_result)
# 出力: True