Pythonと便利なライブラリたち Matplotlib、NumPy、関数のベクトル化
Pythonで学ぶフーリエ解析と信号処理 (神永 正博)(著)、コロナ社)の第1章(Pythonと便利なライブラリたち)、章末問題1-7の解答を求めてみる。
コード(Python)
#!/usr/bin/env python3
import numpy as np
import matplotlib.pyplot as plt
print('7.')
print('Pyplotベース')
def x(t: float) -> float:
if t >= 1:
return np.exp(-(t - 1)**2)
if t >= 0:
return 1
return np.cos(10 * t)
npstepx = np.vectorize(x)
ts = np.linspace(-1, 1, 1000)
xs = npstepx(ts)
plt.plot(ts, xs)
plt.savefig('sample7_1.png')
plt.show()
print('オブジェクト指向ベース')
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.plot(ts, xs)
ax.set_aspect(1)
fig.savefig('sample7_2.png')
plt.show()
入出力結果
% ./sample7.py
7.
Pyplotベース
オブジェクト指向ベース
%