[SciPy-user] Additional output from scipy.integrate.ode[int]
Pauli Virtanen
pav@iki...
Tue Mar 3 14:54:51 CST 2009
Tue, 03 Mar 2009 13:40:11 -0700, gyro wrote:
> I was wondering if it is possible to specify additional outputs that are
> calculated in the function specifying the rhs of the odes.
>
> As an trivial example (adapting the example in the documentation):
>
[clip]
> def f(t, y, arg1):
> extra = y[0]*t - y[1]
> rhs = [1j*arg1*y[0] + y[1], -arg1*y[1]**2]
> return (rhs,extra)
[clip|
> while r.successful() and r.t < t1:
> r.integrate(r.t+dt)
> print r.t, r.y, r.extra
[clip]
> I realize that I can calculate the 'extra' after I have the complete
> solution, but it would be convenient to have the ability to get this
> information directly from the solver.
>
> If this capability is not currently available, is it of interest to have
> it implemented?
I'm not sure if there's interest to add this feature, since you can do
def f(t, y, arg1):
r.extra = y[0]*t - y[1]
rhs = [1j*arg1*y[0] + y[1], -arg1*y[1]**2]
return rhs
Note that `r` is available in `f`, since it's in the outer scope.
--
Pauli Virtanen
More information about the SciPy-user
mailing list