desolve_rk4 cannot handle a piecewise function
I am trying to get a numeric solution to a differential equation involving a function that is piecewise (actually defined using an if/else statement). I successfully generated a slopefield using the lambda function, but desolve_rk4 seemingly cannot cope with this syntax. It seems to me that a numeric solver should be able to handle a function defined this way, but perhaps I am just doing something wrong?
Code:
var('t')
def f(t):
if t<5:
return 3
else:
return 0
V=function('V',t)
desolve_rk4(lambda t,V: ((f)-V)/(2.3*1.2),V, ics=(0,0),ivar=t)
Short answer is that Maxima doesn't know what to do with such a Python lambda function, and this uses a Maxima functionality.