Hi,
...
at t = 42: V = 25
at t = 43: V = 35
-> threshold crossing detected, set V(t = 43) to -65
...
So your voltage trace will look like [..., 25, -65, ...]. Note that this does not include the threshold value (30), but only the value just before the timestep in which the threshold was crossed, and the reset voltage.
Your code instead clamps the above-threshold value of V *at the previous timestep* to the threshold (in the line ``v2[t]=30``) when a crossing is detected. So the voltage trace would look like:
...
at t = 42: V = 25
at t = 43: V = 35
at t = 44: threshold crossing detected at t = 43, set V(t = 43) to 30 and V(t = 44) to -65
...
So your voltage trace will look like [..., 25, 30, -65, ...].
I haven't quite figured out in detail what happens with this extra timestep, perhaps there is a slight bug in my explanation, but it could also be a discrepancy between the integration methods.
If the integration methods are the same for your script and the NEST model, the spike times produced should be precisely the same, even though the voltage traces for the membrane potential will be different, because of the different ways of handling threshold crossing.
Hope this helps, otherwise please let us know!
Charl
On Mon, Sep 21, 2020, at 01:44, Allen Rabayda wrote:
Dear Nest Community,
When trying to reproduce Izhikevich's Simple Neuron Model with NEST Izhikevich Neuron Model, it is spiking before reaching my V_th potential threshold setting of 30 mV, producing results inconsistent with the publication.
Would anybody have insight as to why the neuron is spiking early? Did I perhaps not include a relevant NEST setting?
I compared it to an explicit implementation of the ODEs, attached, for your reference of expected neuron response.
Thank you for any further suggestions as I strive to have full explainability and understanding as my research matures.
Best Regards,
--Allen
_______________________________________________
Attachments:
_______________________________________________