Pythonで数学処理を行う【math】モジュールのイメージ画像

Pythonで数学処理を行う【math】モジュール

  • 公開日:2018/12/01
  • 更新日:2018/12/01
  • 投稿者:n bit

Pythonの組み込みモジュール『math』モジュールを使って数学処理を行う方法を解説します。度数法・弧度法の変換や三角関数、指数関数、対数関数等の実行処理が簡単に行えるようになります。

  • Python

この記事は約 分で読めます。(文字)

mathモジュールとは

mathモジュールはPythonの組み込みモジュールの1つ。度数法・弧度法の変換や三角関数、指数関数、対数関数、円周率、ネイピア数等、数学処理に必要となる機能が一通り揃ったモジュールです。

  • mathモジュール:数学処理を行う組み込みモジュール

mathモジュールの使い方

具体的なmathモジュールの利用方法を確認していきましょう。mathモジュール内には数多くの関数がありますが、いくつか利用頻度が高いものから解説していきます。

pi:円周率(\(\pi\))

円周率(\(\pi\))3.14・・・(近似値)の定数を持った関数です。

import math


print(math.pi)

出力結果

3.141592653589793

e:ネイピア数(\(\exp\))

ネイピア数(\(\exp\))2.71・・・(近似値)の定数を持った関数です。

import math


print(math.e)

出力結果

2.718281828459045

radians(度数):度数法を弧度法に変換

三角関数などでは角度の扱いが度数法から弧度法に変わっていきますが、こちらの関数『radians()』を利用することで度数法(〇度)を弧度法(\(\pi\):ラジアン)に変換することができます。

import math


print(math.radians(180))

出力結果

3.141592653589793

degrees(ラジアン):弧度法を度数法に変換

『radians()』は度数法を弧度法に変換しましたがこちらの関数『degrees()』はその逆で弧度法を度数法に変換します。

import math


print(math.degrees(math.pi))

出力結果

180.0

sin(ラジアン):三角関数:正弦(sine:サイン)

『sin()』は三角関数の正弦(sine:サイン)を求める関数です。引数に渡すのは度数ではなくラジアンであることに注意してください。

import math


print(math.sin(math.pi/3))

出力結果

0.8660254037844386

もちろんですが度数を『radians()』でラジアンに変換して渡しても同じ結果を得ることができます。

import math


print(math.sin(math.radians(60)))

出力結果

0.8660254037844386

cos(ラジアン):三角関数:余弦(cosine:コサイン)

『cos()』は三角関数の余弦(cosine:コサイン)を求める関数です。引数に渡すのは度数ではなくラジアンであることに注意してください。

import math


print(math.cos(math.pi/3))

出力結果

0.5000000000000001

度数を『radians()』でラジアンに変換して渡しても同じ結果を得ることができます。

import math


print(math.cos(math.radians(60)))

出力結果

0.5000000000000001

tan(ラジアン):三角関数:正接(tangent:タンジェント)

『tan()』は三角関数の正接(tangent:タンジェント)を求める関数です。引数に渡すのは度数ではなくラジアンであることに注意してください。

import math


print(math.tan(math.pi/3))

出力結果

1.7320508075688767

度数を『radians()』でラジアンに変換して渡しても同じ結果を得ることができます。

import math


print(math.tan(math.radians(60)))

出力結果

1.7320508075688767

sqrt(a):平方根

『sqrt()』は引数『a』の平方根を求める関数です。例えば\(\sqrt3\)であれば\(1.73・・・\)ですね。

import math


print(math.sqrt(3))

出力結果

1.7320508075688772

pow (底, 指数):べき乗(指数関数)

『pow()』はべき乗を求める関数です。例えば\(2^3\)であれば\(8\)ですね。

import math


print(math.pow(2, 3))

出力結果

8.0

下記数式と同じ意味です。

print(2 ** 3)

出力結果

8

exp (指数):指数関数 (自然指数関数:底がネイピア数)

『exp()』は底をネイピア数とするべき乗を求める関数です。

import math


print(math.exp(1))

出力結果

2.718281828459045

下記数式や

import math


print(math.pow(math.e, 1))

出力結果

2.718281828459045

下記数式と同じ意味です。

import math


print(math.e ** 1)

出力結果

2.718281828459045

log(真数, 底):対数関数

『log()』は対数を求める関数です。

import math


print(math.log(8, 2))

出力結果

3.0

定数を省略した場合は自然対数(底をネイピア数とする対数)を求めます。

import math


print(math.log(2))

出力結果

0.6931471805599453

下記数式と同じ意味です。

import math


print(math.log(2, math.e))

出力結果

0.6931471805599453

gcd(a, b):最大公約数

『gcd()』は引数『a』と『b』の最大公約数を求める関数です。例えば9と27の最大公約数は9ですね。

import math


print(math.gcd(9, 27))

出力結果

9

fabs(a):最大公約数

『fabs()』は引数『a』の絶対値を求める関数です。例えば引数の値が『–5』であれば絶対値『5』を出力します。

import math


print(math.fabs(-5))

出力結果

5.0

今日のdot

今回はPythonの組み込みモジュール『math』モジュールについて解説しました。『math』モジュールはこれ以外にも様々な関数を持っていますが数学処理に使える関数はNumpyにも用意されており、これよりも扱える種類が多く、かつ、実行処理も早いため基本的にはNumpyを利用します。