【Python入門】符号関数|sign()関数をグラフ化する

符号関数|sign()関数をグラフ化する_アイキャッチ プログラミング

※ 当サイトはアフィリエイト広告を利用しています。

levtech-ad
スポンサーリンク

シグナム関数として知られる「符号関数」は、Pythonで簡単にグラフ化することができます。

本記事では、そんなPython基礎となる符号関数について、詳しくご説明します。

こんな人に読んでほしい
  • Python初心者の人
  • Pythonによる符号関数のグラフ化方法について学びたい人
levtech-ad

符号関数

符号関数(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(テックアカデミー)がおすすめです。

私も入っていますが、好きな時間に気軽にオンラインで学べますので、何より楽しいです。

現役エンジニアからマンツーマンで学べるので、一人では中々続かない人にも、向いていると思います。

無料体験ができますので、まずは試してみてください!

\まずは無料体験!/
スポンサーリンク
タイトルとURLをコピーしました