import numpy as np
s = 0
t_space = 10
total_mins = 1440*7
N = total_mins // t_space
f = np.zeros(N)
for t in range(N):
f[t] = 1 if np.random.random() < 0.01 else 0
def uir(t):
return np.exp(-((t)/100)**2)
return 1 if t < 100 else 0
plt.plot([uir(t) for t in range(1000)])
plt.show()
def convolve( uir, signal):
s = 0
for i in range(len(signal)):
s += signal[-i-1] * uir(i)
return s
s = np.zeros(N)
for t in range(N):
signal = f[:t]
s[t] += convolve(lambda x:uir(x), signal)
plt.figure(figsize=(20,8))
plt.subplot(2,1,1)
plt.plot(f, label='input')
plt.legend(loc='upper left')
plt.yticks([0,1])
plt.subplot(2,1,2)
plt.plot(s, label='responnse'.format(i+1))
plt.legend(loc='upper left')
plt.show()