0 or 1 をとるシンプルな関数として、ヘビサイド関数があります。本記事は、 Python のライブラリである Sympy の Heaviside 関数を使って、矩形関数を実装したときの記事です。ヘビサイド関数を用いて矩形関数を作ることができました。
Table of Contents
1 参考文献
以下のサイトが参考になりました。
5 コード
# ライブラリ読み込み(数値計算、グラフ出力用) import numpy as np import matplotlib.pyplot as plt # ライブラリ(数式モデル構築用) from sympy import Heaviside # ヘビサイド関数は sympy.Heaviside を使用する # numpy のベクトルに関数を適用できるように np.vectorize を使用する f = lambda x: Heaviside(-(x - 2)*(x + 2), 0) f = np.vectorize(f) # 代入する x の値を定義する xdata = np.linspace(-6, 6, 100) # 代入する y の値を求める ydata = f(xdata) # 求めた xdata, ydata をプロットする plt.plot(xdata, ydata) plt.show(False)
6 解説
ヘビサイド関数は sympy.Heaviside を使用します。 sympy.Heaviside ではx=0 の時の戻り値を第2引数で設定することができます。上記コードでは第2引数に 0 を指定していることに注意します。
7 出力
以下のグラフが出力されます。-(x - 2) * (x + 2) が正になる範囲、すなわち -2 < x < 2 の範囲で 1 に、それ以外の範囲では 0 になることがわかります。