Pythonで数学処理を行う【math】モジュール
- 公開日:2018/12/01
- 更新日:2018/12/01
- 投稿者:n bit
Pythonの組み込みモジュール『math』モジュールを使って数学処理を行う方法を解説します。度数法・弧度法の変換や三角関数、指数関数、対数関数等の実行処理が簡単に行えるようになります。
この記事は約 分で読めます。(文字)
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を利用します。
【フリーランス向けの完全無料Pythonプログラミング講座】
dot blogではこの記事以外にも完全無料でフリーランス向けのPythonプログラミング講座を公開中です。フリーランスとして活躍し稼ぐための強力な武器となりますよ。
Python入門講座【無料のプログラミング学習講座】
最近特に注目度が高くなってきているプログラミング言語Python。転職、フリーランス、独立・起業を検討中、日々の業務が忙しい社会人等は今こそ身に付けておきたいスキルの1つ。初心者向けにやさしいプログラミング学習内容のPython入門講座を無料で公開。