[R-sig-dyn-mod] Skinny square waves

John Harrold john.m.harrold at gmail.com
Wed Mar 8 09:52:34 CET 2017


Howdy,

I've run into a problem where I have very short duration (relative to the
overall simulation time) square waves. The first one (happening a time
zero) gets picked up by the ode solver. However subsequent square waves are
not picked up. I'm implementing these as forcing functions that look
something like:

[start - delta,   0
start+detla,     value
stop-delta,      value
stop+delta,     0]

Where start and stop are when  the times where square wave begins and
ends.  For delta I'm using 250*.Machine$double.eps. Value here is the
magnitude of the square wave. I automatically add the times in the first
column to my output times thinking that would force the solver to evaluate
at those times.

I've tried playing with the multiplier (250), but that doesn't seem to
matter.  In this case the duration of the square wave is 30 minutes while
the overall simulation time is 70 days (100800 minutes). I can make solver
pick up these forcing function inputs if I set the distance between the
output times as 0.06 minutes.

I was wondering if anyone had any thoughts on how to get the solver to pick
up these output times in a more efficient manner? Can I supply a time
vector around with it should sample more heavily?

Thanks
John

	[[alternative HTML version deleted]]



More information about the R-sig-dynamic-models mailing list