Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
technical:poisson_spike_train [2020/10/13 19:35] – created chunchungtechnical:poisson_spike_train [2022/10/10 06:03] (current) chunchung
Line 1: Line 1:
 ======Inhomogeneous Poisson spike train generation====== ======Inhomogeneous Poisson spike train generation======
 +<code python>
 +def gen_spikes(r,dt,rng):
 +    '''Generate spike train from Poisson rate
 + 
 +    Parameters
 +    ----------
 +    r:   Array of spike rates
 +    dt:  Time step
 +    rng: Random number generator
 +    '''
 +    i = 0
 +    s = 0
 +    spks = []
 +    while True:
 +        s += rng.exponential()
 +        while s>r[i]*dt:
 +            s -= r[i]*dt
 +            i += 1
 +            if i>=len(r): break
 +        else:
 +            spks.append(i*dt+s/r[i])
 +            continue
 +        break
 +    return np.array(spks)
 +</code>