实施Heaviside步骤函数的正确方法是什么?deSolve
ODE的一部分?
我的第一个猜测是使用ifelse
s.t。
ode <- function(t, y, p) {
dy = numeric(1)
H = ifelse((y[1] - 1) >= 0, 1, 0)
dy[1] = -p*y[1] + (y[1] - 1)*H
list(dy)
}
这是正确的方法吗?还是应该使用root函数在events
中使用deSolve
选项?据我所知,Matlab需要我使用root函数并拆分集成。