スポンサーリンク
シグナム関数として知られる「符号関数」は、Pythonで簡単にグラフ化することができます。
本記事では、そんなPython基礎となる符号関数について、詳しくご説明します。
符号関数
符号関数(sign function)とは、実数\(x\)に対して、その符号に応じて、\(-1,0,1\)のいずれかを返す関数のことです。
\(sgnx=\begin{cases}1:x >0\\ 0:x=0\\ -1:x <0\end{cases}\)
Pythonを使用した符号関数の出力方法をご紹介します。
math.copysign()
mathモジュールのmath.copysign()関数を使用すると、第一引数に指定した数値の絶対値に対し、第二引数に指定した数値の符号で出力することができます。
この関数を使用した、符号関数の実装例を以下にご紹介します。
#input
import math
def sign(x):
return int(math.copysign(1, x))
x1 = sign(10)
x2 = sign(-10)
print("sign(10)=",x1)
print("sign(-10)=",x2)
#output
sign(10)= 1
sign(-10)= -1
上記関数は0や複素数に対しては使用できません。
以下にご紹介するNumPyに実装されている関数は、0や複素数にも使えます。
numpy.sign()
NumPyのnumpy.sign()を使用すると、指定した配列の符号関数を出力することができます。
import numpy as np
x = np.array([0, 15, -25])
print(np.sign(x))
#output
[ 0 1 -1]
上記関数を使用して、符号関数をグラフ化してみます。
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
A = fig.add_subplot(111)
A.grid(color="k",linestyle="dotted")
A.set_title("sign function", fontsize = 16)
A.set_xlabel("x", fontsize = 14)
A.set_ylabel("y", fontsize = 14)
A.set_xlim([-5,5])
A.set_ylim([-1.2,1.2])
x = np.linspace(-5,5,129)
y = np.sign(x)
A.plot(x,y,color="deeppink")
A.legend()
plt.show()
まとめ
この記事では、Python基礎となる符号関数について、ご説明しました。
本記事を参考に、ぜひグラフ化を試してみてください。
参考
Python学習用おすすめ教材
Pythonの基本を学びたい方向け
リンク
統計学基礎を学びたい方向け
リンク
Pythonの統計解析を学びたい方向け
リンク
おすすめプログラミングスクール
Pythonをはじめ、プログラミングを学ぶなら、TechAcademy(テックアカデミー)がおすすめです。
私も入っていますが、好きな時間に気軽にオンラインで学べますので、何より楽しいです。
現役エンジニアからマンツーマンで学べるので、一人では中々続かない人にも、向いていると思います。
無料体験ができますので、まずは試してみてください!
\まずは無料体験!/
スポンサーリンク