Matlab事件函数不支持';不要停止整合

Matlab事件函数不支持';不要停止整合,matlab,solver,Matlab,Solver,我有一个ode系统,我用Matlab解决。我想找到系统的稳定状态,为此,我使用所描述的事件函数 但有时,即使达到标准,解算器也不会停止。 例如,如果使用x0=10解算下列系统,则解算器将在2000年之前停止,但使用x0=0.0001则不会停止 事件函数(eventfun\u.m) 系统(test_systeme.m) 解系统 x0 = 10; eventfonction = @(t,y) eventfun_t(t,y); optionsode=odeset('Events',eventfonct

我有一个ode系统,我用Matlab解决。我想找到系统的稳定状态,为此,我使用所描述的事件函数

但有时,即使达到标准,解算器也不会停止。 例如,如果使用
x0=10
解算下列系统,则解算器将在2000年之前停止,但使用
x0=0.0001
则不会停止

事件函数(eventfun\u.m)

系统(test_systeme.m)

解系统

x0 = 10;
eventfonction = @(t,y) eventfun_t(t,y);
optionsode=odeset('Events',eventfonction);
[t x]=ode15s(@(t,x) test_systeme(t,x),[0 2000],x0,optionsode);

我想这是因为
x0=0.0001
norm(dy)
已经低于1e-3,但在这种情况下,我如何在不亲自检查的情况下停止解算器?

事件函数检查值中的符号变化。所以如果值(t=0)
function dx = test_systeme(t,x)
    v = x./(x+1);
    dx = -v;
end
x0 = 10;
eventfonction = @(t,y) eventfun_t(t,y);
optionsode=odeset('Events',eventfonction);
[t x]=ode15s(@(t,x) test_systeme(t,x),[0 2000],x0,optionsode);
value = 1;
if norm(dy)<1e-3&&t~=0
   value = -1;
end