Python Math Libraryは、Pythonの一般的な数学関数や定数へのアクセスを提供し、より複雑な数学計算のためにコード全体で使用することができます。このライブラリはPythonのビルトインモジュールなので、インストールしなくても使うことができます。この記事では、Python Math Libraryの最も一般的に使用される関数と定数の使用例を紹介する予定です。
特殊定数
Python Math Library には、2つの重要な定数があります。
パイ
まず、パイ(π)ですが、これは非常にポピュラーな数学の定数です。これは円の円周と直径の比を表し、その値は 3.141592653589793 です。これにアクセスするために、まず次のようにMath Libraryをインポートします。
import math
そして、この定数には pi
を使ってアクセスすることができる。
math.pi
出力
3.141592653589793
この定数を使って、円の面積や円周を計算することができます。次の例はこれを示している。
import math
radius = 2
print('The area of a circle with a radius of 2 is:', math.pi * (radius ** 2))
出力
The area of a circle with a radius of 2 is: 12.566370614359172
半径の値を 2 の累乗にし、πr2 の面積の公式に従って円周率を掛けている。
オイラー数
自然対数の底であるオイラー数(e)もMathライブラリに定義されている。以下のようにアクセスできる。
math.e
出力
出力:“`
2.718281828459045
次の例では、上記の定数をどのように使うかを示している。
import math
print((math.e + 6 / 2) * 4.32)
出力
24.702977498943074
### 指数と対数
このセクションでは、さまざまな種類の指数と対数を求めるために使用されるMathライブラリ関数について説明します。
#### exp()関数
Python Math Library には `exp()` 関数が付属しており、これを用いて `e` のべき乗を計算することができます。例えば、ex は x の指数を意味し、e` の値は 2.718281828459045 となります。
このメソッドは次のような構文で使うことができる。
math.exp(x)
パラメータ `x` には正の数または負の数を指定することができる。x` が数値でない場合、このメソッドはエラーを返します。例題を使って、このメソッドの使い方を説明しましょう。
import math
Initializing values
an_int = 6
a_neg_int = -8
a_float = 2.00
Pass the values to exp() method and print
print(math.exp(an_int))
print(math.exp(a_neg_int))
print(math.exp(a_float))
出力
出力
3つの変数を宣言し、それぞれに異なる数値データ型を持つ値を代入しました。そして、それらを `exp()` メソッドに渡して、指数を計算しています。
このメソッドは、以下のように内蔵の定数にも適用することができます。
403.4287934927351
0.00033546262790251185
7.38905609893065
出力
出力 ```
import math
print(math.exp(math.e))
print(math.exp(math.pi))
このメソッドに数値以外を渡すと、以下のようにエラーが発生します。
15.154262241479262
23.140692632779267
出力
import math
print(math.exp("20"))
上記の出力に示すように、TypeErrorが生成されました。
log()関数
この関数は指定された数値の対数を返す。自然対数は底が e
であることを基準に計算される。次の例は、この関数の使い方を示している。
Traceback (most recent call last):
File "C:/Users/admin/mathe.py", line 3, in <module
print (math.exp("20"))
TypeError: a float is required
上のスクリプトでは、さまざまなデータ型の数値をメソッドに渡しています。また、定数pi
の自然対数も計算しました。出力は次のようになる。
出力
import math
print("math.log(10.43):", math.log(10.43))
print("math.log(20):", math.log(20))
print("math.log(math.pi):", math.log(math.pi))
log10()関数
この関数は指定された数値の底10の対数を返します。例えば
math.log(10.43): 2.344686269012681
math.log(20): 2.995732273553991
math.log(math.pi): 1.1447298858494002
出力
import math
# Returns the log10 of 50
print("The log10 of 50 is:", math.log10(50))
log2()関数
この関数は,数値の底2に対する対数を計算する。例えば
The log10 of 50 is: 1.6989700043360187
出力
import math
# Returns the log2 of 16
print("The log2 of 16 is:", math.log2(16))
Log(x, y)関数
この関数はyを底とするxの対数を返す。例えば
The log2 of 16 is: 4.0
出力
import math
# Returns the log of 3,4
print("The log 3 with base 4 is:", math.log(3, 4))
log1p(x)関数
この関数は対数(1+x)を計算する。
The log 3 with base 4 is: 0.6309297535714574
出力
import math
print("Logarithm(1+x) value of 10 is:", math.log1p(10))
算術関数
算術関数は、さまざまな形式で数値を表現し、その数値に対して数学的な演算を行うために使用されます。最も一般的な算術関数のいくつかを以下に説明する。
-
ceil()
: 指定された数値の上限値を返す。 -
fabs()
: 指定された数値の絶対値を返す。 -
floor()
: 指定された数値の階値を返す。 -
gcd(a, b)
:a
とb
の最大公約数を返します。 -
fsum(iterable)
: イテレート可能なオブジェクトのすべての要素の合計を返します。 -
expm1()
: (e^x)-1 を返します。 -
exp(x)-1
: x の値が小さい場合、exp(x)-1
を計算すると、精度が著しく低下することがあります。expm1(x)` は、完全な精度で出力を返すことができます。
次の例は、上記の関数の使い方を示しています。
Logarithm(1+x) value of 10 is: 2.3978952727983707
出力
出力 “`
import math
num = -4.28
a = 14
b = 8
num_list = [10, 8.25, 75, 7.04, -86.23, -6.43, 8.4]
x = 1e-4 # A small value of x
print(‘The number is:’, num)
print(‘The floor value is:’, math.floor(num))
print(‘The ceiling value is:’, math.ceil(num))
print(‘The absolute value is:’, math.fabs(num))
print(‘The GCD of a and b is: ‘ + str(math.gcd(a, b)))
print(‘Sum of the list elements is: ‘ + str(math.fsum(num_list)))
print(‘e^x (using function exp()) is:’, math.exp(x)-1)
print(‘e^x (using function expml()) is:’, math.expm1(x))
その他の数学関数には以下のようなものがあります。
* `pow()`: floatの引数を2つ取り、最初の引数を2番目の引数に上げ、その結果を返します。例えば、 `pow(2,2)` は `2**2` と等価である。
* `sqrt()`: 指定された数値の平方根を返します。
これらのメソッドは、以下のように使用することができる。
Power
The number is: -4.28
The floor value is: -5
The ceiling value is: -4
The absolute value is: 4.28
The GCD of a and b is: 2
Sum of the list elements is: 16.029999999999998
e^x (using function exp()) is: 0.0001000050001667141
e^x (using function expml()) is: 0.00010000500016667084
出力
math.pow(3, 4)
平方根
81.0
出力
math.sqrt(81)
### 三角関数
Python Mathモジュールはすべての三角関数をサポートしています。そのうちのいくつかを以下に列挙します。
* `sin(a)`: a "の正弦をラジアン単位で返す。
* `cos(a)`: a "の余弦をラジアン単位で返す * `cos(a)`: "a "の余弦をラジアン単位で返す
* `tan(a)`: a "のタンジェントをラジアン単位で返す。
* `asin(a)`: sineの逆数を返す。また、"atan" と "acos" もある。
* `degrees(a)`: 角度 "a" をラジアンから度へ変換する。
* `radians(a)`: 角度 "a "を度数からラジアンに変換する.
次のような例を考えてみよう。
9.0
出力
import math
angle_In_Degrees = 62
angle_In_Radians = math.radians(angle_In_Degrees)
print(‘The value of the angle is:’, angle_In_Radians)
print(‘sin(x) is:’, math.sin(angle_In_Radians))
print(‘tan(x) is:’, math.tan(angle_In_Radians))
print(‘cos(x) is:’, math.cos(angle_In_Radians))
他の操作を行う前に、まず角度の値を度数からラジアンに変換していることに注意。
### タイプ変換
数値はある型から別の型に変換することができます。この処理は "coercion" として知られています。Python は、式の中に型が混在している値がある場合、内部的に数値をある型から別の型に変換することができます。次の例は、これを示しています。
The value of the angle is: 1.0821041362364843
sin(x) is: 0.8829475928589269
tan(x) is: 1.8807264653463318
cos(x) is: 0.46947156278589086
出力
3 + 5.1
上記の例では、整数の 3 は加算操作のために float の 3.0 に強制され、その結果も float になっています。
しかし、関数のパラメータや演算子の要件を満たすために、ある型から別の型へ明示的に数値を強制することが必要な場合があります。これは、Pythonのさまざまな組み込み関数を使用して行うことができます。例えば、整数を浮動小数点に変換するには、以下のように `float()` 関数を呼び出す必要があります。
8.1
出力
出力
整数がfloatに変換されました.浮動小数点は次のようにして整数に変換することができる.
a = 12
b = float(a)
print(b)
出力
12.0
“`
浮動小数点は、小数部分を取り除き、基数を維持することで整数に変換されます。この方法でint型に変換すると、値は四捨五入されるのではなく、切り捨てられることに注意してください。
結論
Python Math Libraryは、Pythonで算術や三角関数の演算を行うための関数や定数を提供しています。このライブラリはPythonにインストールされているため、使用するために追加のインストールは必要ありません。より詳細な情報は、こちらの公式ドキュメントを参照してください。
</module