combining ODE_FUNC and EVENT_FUNC for ODE solvers
1 次查看(过去 30 天)
显示 更早的评论
I'm solving a non-stiff non-linear ODE problem using matlab's ODE23/ODE45 solvers. I have a transition in the model which I handle with an EVENT_FUNC. The value X that the EVENT_FUNC checks requires a sizable calculation.
My problem is that I already need to calculate X in my ODE_FUNC. Because the EVENT_FUNC is a separate thing, I have to calculate X twice which is not efficient.
My question is; is there any way to combine the ODE_FUNC and EVENT_FUNC such that the ODE_FUNC returns X together with all the other 2 parameters required by the EVENT_FUNC such that I don't have to perform the same computation twice.
Any suggestions / solutions are much appreciated.
0 个评论
回答(1 个)
Torsten
2015-7-6
Define X as global in ODE_FUNC and EVENT_FUNC.
Then check whether you can use the (last) value for X calculated in ODE_FUNC also in EVENT_FUNC (i.e. whether t and y as input parameters are the same).
Best wishes
Torsten.
0 个评论
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!