ODE 函数中的非负选项

nonnegative option in a function of an ODE

正如标题中指定的那样,我需要强制函数始终为正(如果遇到负数,则必须等于 0)。此函数在 ODE 中:

这是我调用 ODE 的脚本:

clear
t=[0,276];   
Tie=0.3;
mumax=2;
Qmin=1;
X0=[4,2];
[t,X]=ode45(@(t,X) odeset(mumax,Qmin,Tie,X),t,X0);

这是我想要一直保持正向的函数

function [ func2 ] = func2 (mumax,Qmin,Q)

func2=mumax*(1-Qmin/Q);

end

这是 ODE

function [ dXdt ] = odeset(mumax, Qmin, Tie,X) 

dXdt=zeros(2,1);
dXdt(1)=func2(mumax,Qmin,X(1))-X(2)*Tie;
dXdt(2)=func2(mumax,Qmin,X(1))-X(2)*Tie;
end

func2的输出更改为

function [ out ] = func2 (mumax,Qmin,Q)
    out=max(mumax*(1-Qmin/Q),0);
end

这将强制输出为正或零。