我试图在 MATLAB 的微分方程系统中找到一个方程的位置。我正在尝试使用 odeset 的事件属性。如何在我的函数中挑选出特定的方程?
options = odeset('Events',@event);
[t x tm xm ie] = ode45(@Lorenz,[0 200],I,options);
function X = Lorenz(t,x)
r = 15;
sigma = 10;
b = 8/3;
X(1,1) = sigma*(x(2,1)-x(1,1));
X(2,1) = r*(x(1,1)) - x(2,1) -x(1,1)*x(3,1);
X(3,1) = x(1,1)*x(2,1) - b*x(3,1);
end
function [value,isterminal,direction] = event(t,x)
value = Lorenz(t,x); %I can't specify X(3,1) here
isterminal = 0;
direction = -1;
end
特别是我试图在 X(3,1) = 0 时记录。
谢谢