.. currentmodule:: brian .. index:: pair: example usage; run pair: example usage; SpikeGeneratorGroup pair: example usage; PopulationRateMonitor pair: example usage; raster_plot pair: example usage; PulsePacket pair: example usage; SpikeMonitor .. _example-misc_pulsepacket: Example: pulsepacket (misc) =========================== This example basically replicates what the Brian PulsePacket object does, and then compares to that object. :: from brian import * from random import gauss, shuffle # Generator for pulse packet def pulse_packet(t, n, sigma): # generate a list of n times with Gaussian distribution, sort them in time, and # then randomly assign the neuron numbers to them times = [gauss(t, sigma) for i in range(n)] times.sort() neuron = range(n) shuffle(neuron) return zip(neuron, times) # returns a list of pairs (i,t) G1 = SpikeGeneratorGroup(1000, pulse_packet(50 * ms, 1000, 5 * ms)) M1 = SpikeMonitor(G1) PRM1 = PopulationRateMonitor(G1, bin=1 * ms) G2 = PulsePacket(50 * ms, 1000, 5 * ms) M2 = SpikeMonitor(G2) PRM2 = PopulationRateMonitor(G2, bin=1 * ms) run(100 * ms) subplot(221) raster_plot(M1) subplot(223) plot(PRM1.rate) subplot(222) raster_plot(M2) subplot(224) plot(PRM2.rate) show()