0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

python 組み込みモジュール① math

Last updated at Posted at 2024-11-25

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
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?