Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: MATLAB: Is it possible to have two event values whilst using ode45?
Replies: 2   Last Post: Dec 7, 2012 9:35 AM

 Messages: [ Previous | Next ]
 Steven Lord Posts: 18,038 Registered: 12/7/04
Re: MATLAB: Is it possible to have two event values whilst using ode45?
Posted: Dec 7, 2012 9:35 AM

"Kitech " <ksm092@hotmail.com> wrote in message
news:k9rgdt\$j2c\$1@newscl01ah.mathworks.com...
> I want two limitations to my ode45 calculation of a movement equation:
> position and time. I have already got the time event to work but I am not
> sure if and how I can add another event for limiting the position.

Can you say more about your time event? Depending on what you mean, the
event function may not be the most effective way to handle it. For instance,
if you want to solve the system until a specified end time, I would make the
final element of the tspan vector be that specified end time rather than
specifying an arbitrarily long tspan and having the event function cut off
the solver at the specified end time.

> I also have many different particles coupled together in one ODE equation
> and need them to stop individually once they reach a 'roof' as they all
> travel at different speeds... would I be able to achieve this through
> events? I have an idea on how I would do this but its very complicated and
> would probably be very slow...

http://www.mathworks.com/help/matlab/ref/odeset.html#f92-1017470

"value, isterminal, and direction are vectors for which the ith element
corresponds to the ith event function: "

Have your events function return three 2-element vectors where the first
element corresponds to your time event and the second to your position
event.

--
Steve Lord
slord@mathworks.com