Hi!
Using TimedArray like so:
defaultclock.dt = 0.01*ms
I_stim = TimedArray(([0]*4+[2]+[0]*15+[15]+[0])*uA/(cmeter**2), dt=0.5*ms
I get the following warning:
WARNING Group uses a dt of 1. us while TimedArray uses dt of 0.5 ms [brian2.input.timedarray]
Why is this a warning? I do want a stimulus with a width of 0.5 ms at certain points in time.
Is there better way that does not yield a warning? Of course I could set TimedArray to use the defaultclock.dt but why should I have to?
Thanks,
Sebastian
Hi! Your example above shouldnât raise the warning, but I can reproduce it with dt = 0.001*ms (which you seemed to have used as the warning suggests). This is quite a small dt! Anyway, you get the warning because of numerical issues: 0.5*ms is not an integer multiple of 0.001*ms (given that everything is stored as floating point numbers) â the former is exactly 500.00000000000006 bigger than the latterâŚ
In other places we are dealing with such issues a bit more gracefully, I think here you can safely ignore the warning. The warning is meant for situations where for example the group dt is 0.1*ms, and the TimedArray dt is 0.15*ms, i.e. where it is not obvious how to map the stimulus changes on the dt grid.
1 Like
Hi! Youâre of course right. Iâve used dt = 0.001*ms. The warning makes sense now with your hint to floating point. Cheers, Sebastian