function dxdt=memoscRHS(t,x,p)

Wx4=p.Gon*p.Goff/(p.Gon-(p.Gon-p.Goff)*x(4));
Wx5=p.Gon*p.Goff/(p.Gon-(p.Gon-p.Goff)*x(5));
dxdt1=-(p.alpha/p.G)*(Wx4+Wx5+p.GN2)*x(1)-p.alpha*x(3);
dxdt2=p.gamma*x(2)+x(3);
dxdt3=p.beta*(x(1)-x(2)-x(3));
dxdt4=(p.eta1/p.i0)*Wx4*x(1);
dxdt5=(p.eta2/p.i0)*Wx5*x(1);

if x(4)>1 && dxdt4>0; dxdt4=0; end
if x(4)<0 && dxdt4<0; dxdt4=0; end
if x(5)>1 && dxdt5>0; dxdt5=0; end
if x(5)<0 && dxdt5<0; dxdt5=0; end

dxdt=[dxdt1 dxdt2 dxdt3 dxdt4 dxdt5]';