Я хочу сделать график, на котором я показываю несколько импульсов в разное время.У меня есть список l
со временем каждого импульса, например
l=[1.,2.,24.]
, и у меня есть длительность d
импульса, например d=0.2
.Я могу сделать график следующим образом:
import numpy as np
import matplotlib.pyplot as plt
t=np.linspace(0.,30,1000)
l=[1.,2.,24.]
d=0.2
def pulse(t):
if t<l[0]:
L = 0.
elif l[0]<=t<l[0]+d or l[1]<=t<l[1]+d or l[2]<=t<l[2]+d:
L = 1
else:
L=0.
return L
plt.figure(1)
P=map(pulse,t)
plt.plot(t,P)
plt.show()
Конечно, если len(l)
становится очень большим, я не могу использовать эту процедуру, то есть я не могу написать вручную очень длинную цепочку or
.Как я могу написать алгоритм более синтетическим способом?