(* Simple Model of Spiking Neurons, Izhikevich E IEEE Transactions on Neural Networks (2003) 14:1569- 1572 *) component Izhikevich03 = struct binding construct t V U k1 k2 k3 theta a b c d Isyn spike h = binding subthreshold_eq = [ [ d (V t h) = (k1 * V * V) + (k2 * V) + k3 + (- U) + Isyn ] [ d (U t h) = a * ((b * V) - U) ] ] binding threshold_detect = [ spike = (V - theta) ] binding subthreshold_regime = subthreshold_eq binding refractory_eq = [ [ t = t ] [ h = h ] [ V = c ] [ U = (U + d) ] ] return Diagram.TRANSIENT subthreshold_regime refractory_eq spike threshold_detect end