MATLAB事件函数在同时向ode45发送一个标志时向我传递一个标志

时间:2013-12-17 23:11:46

标签: matlab events ode

我正在使用ode45并希望在解决方案达到零时停止按事件功能进行集成。我需要的是事件函数来返回ME“标志”。这意味着每当事件发送一个停止标志到ode45停止时,这个停止标志(无论它是什么)也会发送给我。

感谢

1 个答案:

答案 0 :(得分:1)

来自ode45 documentation

  

[T,Y,TE,YE,IE] = solver(odefun,tspan,y0,options)解决了上述问题   还找到了(t,y)的函数,称为事件函数   零。对于每个事件函数,指定集成是否为   终止于零和是否过零的方向   事项。通过将'Events'属性设置为函数来执行此操作,例如,   events@events,并创建一个函数   [value,isterminal,direction] = events(t,y)。对于第i个事件函数   在events

     
      
  • value(i)是函数的值。
  •   
  • isterminal(i) = 1,如果整合将在此事件的零点>函数处终止,否则为0。
  •   
  • direction(i) = 0如果要计算所有零(默认值),+1(如果只有事件函数增加的零),-1如果只有事件函数减少的零。
  •   
     

TEYEIE中的相应条目分别返回   事件发生时,事件发生时的解决方案和索引i   消失的事件功能。

事件函数通过options参数设置,odeset函数