在 Matlab ODE 的事件中使用两个条件
Using two conditions inside Events in Matlab ODE
我有一个 ODE Event
作为
options = odeset('RelTol',1e-11,'Events',@eventfunction);
[time,values] = ode45(@Eq,time,x0,options);
function [value, isterminal,direction]=eventfunction(~,y)
value=y(1)+y(2)-1;
isterminal=1;
direction=0;
end
我想在 eventfunction
中更改此条件,以便在 y(1)+y(2)
低于 1 或高于 10^5 时触发事件。
我怎样才能做到这一点?
为值、终端和方向指定向量。
value = [y(1)+y(2)-1, y(1)+y(2)-1e5];
isterminal = [1, 1];
direction = [0, 0];
注意你可以使用direction = [],它的作用与提供direction = zeros(1,length(value))相同。
我有一个 ODE Event
作为
options = odeset('RelTol',1e-11,'Events',@eventfunction);
[time,values] = ode45(@Eq,time,x0,options);
function [value, isterminal,direction]=eventfunction(~,y)
value=y(1)+y(2)-1;
isterminal=1;
direction=0;
end
我想在 eventfunction
中更改此条件,以便在 y(1)+y(2)
低于 1 或高于 10^5 时触发事件。
我怎样才能做到这一点?
为值、终端和方向指定向量。
value = [y(1)+y(2)-1, y(1)+y(2)-1e5];
isterminal = [1, 1];
direction = [0, 0];
注意你可以使用direction = [],它的作用与提供direction = zeros(1,length(value))相同。