Pythonで条件に基づいたプロットを作成する方法について説明します。この記事では、numpy
とmatplotlib
を使用して、特定の条件に基づいて異なる関数をプロットする方法を示します。
まず、必要なライブラリをインポートします。
import numpy as np
import matplotlib.pyplot as plt
次に、プロットしたい関数を定義します。この例では、以下の3つの条件に基づいて異なる関数をプロットします。
- (x \geq 0): (f(x) = e^{-|x|} \cos(50x))
- (-1 \leq x < 0): (f(x) = x + 1)
- それ以外の場合: (f(x) = \cos\left(\frac{13\pi}{3+x}\right))
これらの関数をPythonで定義するには、以下のようにします。
def myFunc(x):
if x >= 0:
return np.exp(-np.abs(x)) * np.cos(50*x)
elif -1 <= x and x < 0:
return x + 1
else:
return np.cos(13*np.pi/(3+x))
この関数をベクトル化するために、numpy.vectorize
を使用します。
npmyFunc = np.vectorize(myFunc)
最後に、この関数をプロットします。
x = np.linspace(-2, 4, 1000)
fig, ax = plt.subplots()
ax.plot(x, npmyFunc(x))
plt.show()
以上がPythonで条件に基づいたプロットを作成する方法です。この方法を使用すれば、複雑な条件に基づいて異なる関数をプロットすることが可能になります。